<?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>AlexJ &#187; HOWTOs</title>
	<atom:link href="http://alexj.info/category/howtos/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexj.info</link>
	<description>Computer Science Journal</description>
	<lastBuildDate>Thu, 25 Mar 2010 08:42:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[CCIELab] Output manipulation in Cisco IOS</title>
		<link>http://alexj.info/2010/03/25/ccielab-output-manipulation-in-cisco-ios/</link>
		<comments>http://alexj.info/2010/03/25/ccielab-output-manipulation-in-cisco-ios/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 08:42:43 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Cisco Networking Academy]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[appent]]></category>
		<category><![CDATA[Cisco ISO]]></category>
		<category><![CDATA[configurations]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[output manipulation]]></category>
		<category><![CDATA[output modifiers]]></category>
		<category><![CDATA[redirect]]></category>
		<category><![CDATA[regular exprsions]]></category>
		<category><![CDATA[running-config]]></category>
		<category><![CDATA[section]]></category>
		<category><![CDATA[show]]></category>
		<category><![CDATA[text filtering]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=1135</guid>
		<description><![CDATA[[Originally posted on ccielab.ro]
One of the things that make Command Line Interfaces, like Bash, very efficient for administration is the output manipulation with piping and redirecting. Cisco IOS has most of the Bash equivalent modifiers, and administrators that know how to work with them can do things much more faster&#8230; this can make the difference [...]]]></description>
			<content:encoded><![CDATA[<p>[Originally posted on <a href="http://ccielab.ro/2010/03/output-manipulation-in-cisco-ios/" target="_blank"><strong>ccielab.ro</strong></a>]</p>
<p>One of the things that make Command Line Interfaces, like Bash, very efficient for administration is the output manipulation with piping and redirecting. Cisco IOS has most of the Bash equivalent modifiers, and administrators that know how to work with them can do things much more faster&#8230; this can make the difference in a lab exam or in the real world. Most show commands support this features and depending on the IOS, you have more or less features.</p>
<p>The usual &#8220;<strong>show run</strong>&#8221; command prints a large output, from which you need only a few lines. You can only scroll down with space and enter (the the Linux <strong>more</strong> command). If you are searching for a keyword in the running config, you can go to the line that contains the string using the slash key, like in vim or more or less in Linux. So, &#8220;<strong>/KEYWORD</strong>&#8221; after running the show command, while scrolling, will take you to the wanted line.</p>
<p>If you want from the output just some lines, you can filter them, just like piping the output to grep in Linux. You can use the &#8221; <strong>|</strong> &#8221; after the show command to see how you can <strong>filter </strong>(be careful, there is a space before and after the |). To print just the lines that have a keywork, use &#8220;<strong> | include KEYWORD</strong>&#8220;, and to print all lines except the ones what have the keyword, use &#8220;<strong> | exclude KEYWORD</strong>&#8220;. If you want to print out all output starting with a line that contains a keyword until the end of the lines, use &#8220;<strong> | begin KEYWORD</strong>&#8220;.</p>
<p>Taking advantage of the hierarchical structure of the running config, you can print out just a <strong>section </strong>of the output. For example, &#8220;<strong>show run | section   router ospf 1</strong>&#8221; will list the configuration for the OSPF process 1 and &#8220;<strong>show run | section interface Serial0/0</strong>&#8221; will print the configuration for the specified interface. Be careful, this is<strong> case sensitive</strong> and you need to mach the case of the line in the running config (&#8220;Serial 0/0&#8243; will work, &#8220;serial 0/0&#8243; won&#8217;t).</p>
<p><strong>Redirection </strong>into a file is also possible. &#8220;<strong>show run | redirect flash:run</strong>&#8221; will put the contents of the running config into a file called &#8216;run&#8217; in flash memory. This is similar to the &#8220;&gt;&#8221; operand in Bash. Using redirect, the content of the target file will be replaced. You can append to the file (like &#8220;&gt;&gt;&#8221; in Bash) with &#8220;<strong> | append FILE</strong>&#8220;.  &#8220;<strong> | tee FILE</strong>&#8221; works like redirect, but it also prints the output to the screen.</p>
<p><strong>Regular expressions</strong> are also supported. If you like to print from the routing table, the routes received from RIP, you can filter with &#8220;show ip route | include R&#8221; and the routes from EIGRP with  &#8220;show ip route | include D&#8221;. But you can do this in one line, filtering with both conditions, with &#8220;show ip route | include [RD]&#8220;.</p>
<p>Slightly off topic, but good to know, is how to stop output. For example, traceroute to an unreachable location, will try 30 hops before it stops, and this might take a long time. To break the action hit the key combination &#8220;<strong>Ctrl+Shift+6</strong>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2010/03/25/ccielab-output-manipulation-in-cisco-ios/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Followup: How to Web</title>
		<link>http://alexj.info/2009/11/04/followup-how-to-web/</link>
		<comments>http://alexj.info/2009/11/04/followup-how-to-web/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 10:59:49 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Review]]></category>
		<category><![CDATA[conferință]]></category>
		<category><![CDATA[How to Web]]></category>
		<category><![CDATA[prezentari]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=1050</guid>
		<description><![CDATA[Conferința How to Web de sâmbătă [1] [2] a fost mai interesantă decât mă așteptăm. Subiectele au fost atractive și organizarea foarte bună pentru o primă ediție a unui eveniment destul de mare.
Prezentările nu au fost aproape deloc tehnice (lucru nu neapărat bun) dar au fost bine adaptate la ideea conferinței, cea de a aduce [...]]]></description>
			<content:encoded><![CDATA[<p>Conferința <strong>How to Web</strong> de sâmbătă <a href="http://www.how-to-web.net/" target="_blank">[1]</a> <a href="http://alexj.info/2009/10/22/conferin%C8%9Ba-how-to-web/" target="_blank">[2]</a> a fost mai interesantă decât mă așteptăm. Subiectele au fost atractive și organizarea foarte bună pentru o primă ediție a unui eveniment destul de mare.</p>
<p>Prezentările nu au fost aproape deloc tehnice (lucru nu neapărat bun) dar au fost bine adaptate la ideea conferinței, cea de a aduce împreună pasionații web-ului cu profesioniștii lui.</p>
<p>Printre prezentările interesante s-au numărat una despre &#8220;User Experience Design&#8221;, în care s-a arătat importanța proiectării inteligente a unei interfețe cu utilizatorul (lecția învățată a fost că o interfață trebuie să fie: usable, useful, valuable, desirable, findable, credible, accessible).</p>
<p>Altă prezentare a fost despre &#8220;Cloud Computing&#8221;, o noțiune destul de nouă și căutată. În prezentare s-a vorbit despre părțile bune și parțile rele ale Cloud Computing.</p>
<p>O prezentare care nu are neapărat legătură cu web-ul ci cu business-ul a fost &#8220;Despre Antreprenoriat&#8221;. Un cuvânt ce s-a tot rostit pe parcursul conferinței a fost &#8217;start-up&#8217;, ce se referă la o companie (firmă) ce abia a pornit și este în drum spre succes. Prezentarea respectivă ne vorbea despre cum ar trebui abordată pornirea unei afaceri proprii.</p>
<p>Așteptăm ca pozele de la eveniment, precum și slide-urile, să fie postate pe site-ul oficial.</p>
<p>Felicitări pentru organizatori, ASPI <a href="http://www.aspi.ro/" target="_blank">[3]</a> pentru o treabă bună făcută și așteptăm ediția de anul viitor.</p>
<p>Follow-up-ul oficial îl găsiți pe siteul How to Web <a href="http://www.how-to-web.net/2009/11/si-a-fost-how-to-web-2009/" target="_blank">[4]</a>. Un altul, destul de lung, pe mai multe părți, aici <a href="http://pow4ioc.wordpress.com/2009/10/31/how-to-web-part-i/" target="_blank">[5]</a>, <a href="http://pow4ioc.wordpress.com/2009/11/02/how-to-web-part-ii/" target="_blank">[6]</a>, <a href="http://pow4ioc.wordpress.com/2009/11/03/how-to-web-part-iii/" target="_blank">[7]</a>, <a href="http://pow4ioc.wordpress.com/2009/11/04/how-to-web-part-iv/" target="_blank">[8]</a>.</p>
<p>[1] <a href="http://www.how-to-web.net/">http://www.how-to-web.net/</a></p>
<p>[2] <a href="http://alexj.info/2009/10/22/conferin%C8%9Ba-how-to-web/">http://alexj.info/2009/10/22/conferin%C8%9Ba-how-to-web/</a></p>
<p>[3] <a href="http://www.aspi.ro/">http://www.aspi.ro/</a></p>
<p>[4] <a href="http://www.how-to-web.net/2009/11/si-a-fost-how-to-web-2009/">http://www.how-to-web.net/2009/11/si-a-fost-how-to-web-2009/</a></p>
<p>[5] <a href="http://pow4ioc.wordpress.com/2009/10/31/how-to-web-part-i/">http://pow4ioc.wordpress.com/2009/10/31/how-to-web-part-i/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/11/04/followup-how-to-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6 Part III: Linux Routing</title>
		<link>http://alexj.info/2009/08/21/ipv6-part-iii-linux-routing/</link>
		<comments>http://alexj.info/2009/08/21/ipv6-part-iii-linux-routing/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 21:54:46 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[/etc/network/interfaces]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[tunel]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=1001</guid>
		<description><![CDATA[[Part I]
[Part II]
Clientul este un Linux box.  Legătura la Internet este prin eth1, interfață peste care se face tunelul 6to4.
După ce am creat tunelul, am aflat că pot cere o clasă de IPv6 să fie routată prin IP-ul meu v6. Astfel, mi-a fost alocată rețeaua 2001:470:9f00::/48 ( 1208925819614629174706178 adrese adică adică aproximativ 1 milion [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://alexj.info/?p=991">[Part I]</a><br />
<a href="http://alexj.info/?p=996">[Part II]</a></p>
<p>Clientul este un Linux box.  Legătura la Internet este prin eth1, interfață peste care se face tunelul 6to4.</p>
<p>După ce am creat tunelul, am aflat că pot cere o clasă de IPv6 să fie routată prin IP-ul meu v6. Astfel, mi-a fost alocată rețeaua 2001:470:9f00::/48 ( 1208925819614629174706178 adrese adică adică aproximativ 1 milion de miliarde de miliarde de adese), pe care am început să o subnetez.</p>
<p>Prima rețea am alocat-o rețelei de pe eth1 (uplink-ul la Internet, precum și legătura cu alte servere locale). Pentru ușurință în denumire, am ales rețeaua 2001:0470:9f00:0141:0085:0037:0208::/112, adresă obținută prin o concatenare (la nivel de notație) a adresei IPv6 /48 alocate cu adresa IPv4/24 (141.85.37.208). Atenție, valorite în binar sunt total diferite, pentru că adresa IPv6 conține cifre în hexadecimal și IPv4 în decimal.</p>
<p><strong>Configurație prin /etc/network/intefaces:</strong></p>
<p>iface eth1 inet6 static<br />
	address 2001:0470:9f00:0141:0085:0037:208:1<br />
	netmask 112</p>
<p>Routarea IPv6 nu este implicit activată, și pachetele nu vor trece dintr-o rețea în cealaltă. Pentru aceasta, trebuie modificat fișierul <em>/etc/sysctl.conf </em> și decomentată (sau adăugată) linia:<br />
<strong>net.ipv6.conf.all.forwarding=1</strong><br />
urmată de un restart a sysctl<br />
<strong>sysctl -p</strong></p>
<p>În continuare am alocat o altă rețea /112 pentru tunelul VPN peste care am o rețea IPv4 172.30.0.0/24 în spatele unui NAT. Partea frumoasă aici este că la IPv6 nu mai este nevoie de NAT pentru că sunt adrese routabile IPv6, deci traficul IPv4 va fi translatat la router în spatele unei singure adrese iar cel IPv6 va fi routat normal spre Internet. Rezultatul final a fost conectivitate IPv6 pe două sisteme care se află în cu totul altă rețea decât cea unde există tuneul 6to4, rețea ce se află in spatele unui NAT. Pentru a ajunge la un server IPv6 extern, aceste stații trebuiat să treacă peste printr-un tunel 6to4 aflat peste o conexiune VPN(OpenVPN) până la server unde era routat în altă rețea IPv6 care trecea peste un alt tunel 6to4 și routat mai departe doar prin IPv6.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/08/21/ipv6-part-iii-linux-routing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6 Part II: Linux Configuration</title>
		<link>http://alexj.info/2009/08/21/ipv6-part-ii-linux-configuration/</link>
		<comments>http://alexj.info/2009/08/21/ipv6-part-ii-linux-configuration/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 16:17:58 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[ping6]]></category>
		<category><![CDATA[tunel]]></category>
		<category><![CDATA[TunnelBroker]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=996</guid>
		<description><![CDATA[[Part I]
De la provider-ul tunelului [1] am primit următoarele:
Server IPv4 address:      216.66.80.30
Server IPv6 address:     2001:470:1f0a:68d::1/64
Client IPv4 address:     141.85.37.208
Client IPv6 address:     2001:470:1f0a:68d::2/64
Între cele două adrese IPv4 este creat un tunel ce are alocată rețeaua IPv6 2001:470:1f0a:68d::/64 ( deci aproximativ 18 milidarde de miliarde de adrese pierdute pentru 2 adrese&#8230;dar nu e problemă pentru că sunt destule [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://alexj.info/?p=991">[Part I]</a></p>
<p>De la provider-ul tunelului <a href="http://www.tunnelbroker.net/" target="_blank">[1]</a> am primit următoarele:</p>
<p>Server IPv4 address:      216.66.80.30<br />
Server IPv6 address:     2001:470:1f0a:68d::1/64<br />
Client IPv4 address:     141.85.37.208<br />
Client IPv6 address:     2001:470:1f0a:68d::2/64</p>
<p>Între cele două adrese IPv4 este creat un tunel ce are alocată rețeaua IPv6 2001:470:1f0a:68d::/64 ( deci aproximativ 18 milidarde de miliarde de adrese pierdute pentru 2 adrese&#8230;dar nu e problemă pentru că sunt destule ).<br />
Configurarea tunelului poate fi făcută în mai multe feluri.</p>
<p><strong>Temporară prin ifconfig/route</strong></p>
<p>ifconfig sit0 up<br />
ifconfig sit0 inet6 tunnel ::216.66.80.30<br />
ifconfig sit1 up<br />
ifconfig sit1 inet6 add 2001:470:1f0a:68d::2/64<br />
route -A inet6 add ::/0 dev sit1</p>
<p><strong>Temporară prin iproute2</strong></p>
<p>modprobe ipv6<br />
ip tunnel add he-ipv6 mode sit remote 216.66.80.30 local 141.85.37.208 ttl 255<br />
ip link set he-ipv6 up<br />
ip addr add 2001:470:1f0a:68d::2/64 dev he-ipv6<br />
ip route add ::/0 dev he-ipv6<br />
ip -f inet6 addr</p>
<p><strong>Permanentă (on boot) prin /etc/network/interfaces</strong><br />
iface he-ipv6 inet6 v4tunnel<br />
endpoint 216.66.80.30<br />
address  2001:470:1f0a:68d::2<br />
netmask  64<br />
mtu 1480<br />
up ip -6 route add 2000::/3 dev he-ipv6<br />
down ip -6 route del 2000::/3 dev he-ipv6</p>
<p>[1] <a href="http://www.tunnelbroker.net/">http://www.tunnelbroker.net/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/08/21/ipv6-part-ii-linux-configuration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>IPv6 Part I: TunnelBroker &amp; IPv6 Certification</title>
		<link>http://alexj.info/2009/08/20/ipv6-part-i-tunnelbroker-ipv6-certification/</link>
		<comments>http://alexj.info/2009/08/20/ipv6-part-i-tunnelbroker-ipv6-certification/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 11:17:21 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[Geek Stuff]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Link-uri]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[certificare]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[ping6]]></category>
		<category><![CDATA[tunel]]></category>
		<category><![CDATA[TunnelBroker]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=991</guid>
		<description><![CDATA[Deși mai configurasem o adresăIPv6 și cu alte ocazii [1], nu intrasem adânc în subiect decât la clasa de BSCI de la Cisco pe care am terminat-o recent. După clasă, pentru că mi-a plăcut subiectul, am încercat să văd IPv6 în viața reală, ceea ce era puțin problematic pentru că legăturile mele la Internet vin [...]]]></description>
			<content:encoded><![CDATA[<p>Deși mai configurasem o adresăIPv6 și cu alte ocazii <a href="http://alexj.info/?p=92" target="_blank">[1]</a>, nu intrasem adânc în subiect decât la clasa de BSCI de la Cisco pe care am terminat-o recent. După clasă, pentru că mi-a plăcut subiectul, am încercat să văd IPv6 în viața reală, ceea ce era puțin problematic pentru că legăturile mele la Internet vin numai în varianta IPv4.</p>
<p>Dar am descoperit un site interesant, <strong>TunnelBroker</strong> <a href="http://www.tunnelbroker.net/" target="_blank">[2]</a>, care oferă tunele IPv6 peste conexiuni IPv4, gratuit. Provider-ul respectiv are o rețea globală de servere accesibile prin IPv4, dar care routează IPv6 în Internet. Tot ce e nevoie este un server propriu sau un workstation care să aibă un IP public (acesta va fi clientul). Configurația tunelului se face într-o parte automat, pe site și cealaltă parte pe stația locală manual. Instrucțiunile complete se găsesc pe site.</p>
<p style="text-align: center;"><a href="http://alexj.info/wp-content/uploads/2009/08/ipv6_ping.png"><img class="size-medium wp-image-992 aligncenter" title="ipv6_ping" src="http://alexj.info/wp-content/uploads/2009/08/ipv6_ping-300x189.png" alt="ipv6_ping" width="300" height="189" /></a></p>
<p>Aceeași firmă ce administrează site-ul TunnelBroker și rețeaua de servere, Hurricane Electric, oferă și o certificare <a href="http://ipv6.he.net/certification/cert-main.php" target="_blank">[3]</a> de atestare a cunoștințelor despre IPv6. De exemplu, primul test constă într-un quiz despre IPv6 iar al doilea presupune configurarea unui client care să fie capabil să acceseze o pagină IPv6.</p>
<p style="text-align: center;"><a href="http://ipv6.he.net/certification/scoresheet.php?pass_name=AlexJ" target="_blank"><img class="aligncenter" src="http://ipv6.he.net/certification/create_badge.php?pass_name=AlexJ&amp;badge=2" border="0" alt="IPv6 Certification Badge for AlexJ" width="250" height="194" /></a></p>
<p>Fun fact: Există un &#8216;experiment&#8217; pentru a promova IPv6 <a href="http://ubergeek.ro/2008/08/22/ipv6-experiment/" target="_blank">[4]</a>, dar care, momentan, pare a fi mort.</p>
<p>[1] <a href="http://alexj.info/?p=92">http://alexj.info/?p=92</a></p>
<p>[2] <a href="http://www.tunnelbroker.net/">http://www.tunnelbroker.net/</a></p>
<p>[3] <a href="http://ipv6.he.net/certification/cert-main.php">http://ipv6.he.net/certification/cert-main.php</a></p>
<p>[4] <a href="http://ubergeek.ro/2008/08/22/ipv6-experiment/">http://ubergeek.ro/2008/08/22/ipv6-experiment/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/08/20/ipv6-part-i-tunnelbroker-ipv6-certification/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Google Calendar &amp; imports</title>
		<link>http://alexj.info/2009/06/30/google-calendar-imports/</link>
		<comments>http://alexj.info/2009/06/30/google-calendar-imports/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 20:58:33 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Calendar]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=972</guid>
		<description><![CDATA[Am primit azi un email de la Juniper în care am fost acceptat la Juniper Summer School [1]. Ce a fost interesant e că mi-au trimis și un fișier în care era salvat calendarul programului. Era un fișier .ics, care am aflat că este format iCalendar (by Apple). Cum nu foloseam iCalendar, mi s-a părut [...]]]></description>
			<content:encoded><![CDATA[<p>Am primit azi un email de la Juniper în care am fost acceptat la Juniper Summer School <a href="http://alexj.info/2009/06/17/juniper-summer-school/" target="_blank">[1]</a><strong>. </strong>Ce a fost interesant e că mi-au trimis și un fișier în care era salvat calendarul programului. Era un fișier .ics, care am aflat că este format iCalendar (by Apple). Cum nu foloseam iCalendar, mi s-a părut inutil, dar în email era menționat faptul că pot folosi fișierul inclusiv în Google Calendar.</p>
<p>Astfel am aflat de funcția de import de la <strong>Google Calendar</strong> <a href="http://calendar.google.com" target="_blank">[2] </a>. Sunt compatibile mai multe fișiere, printre care și acesta.</p>
<p>Pentru a importa un calendar, se intră pe Google Calendar. Sub lista de calendare există butonul de <strong>Settings</strong>, iar pe pagina de setări pentru fiecare calendar, există un link de <strong>Import Calendar</strong>. Pe pagina de Import se încarcă fișierul și se poate alege ca datele din fișier să fie integrate într-un calendar existent sau să se creeze un calendar nou.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/06/30/google-calendar-imports/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Diacritice(UTF-8) &amp; JDBC/mySQL/HTML</title>
		<link>http://alexj.info/2009/06/16/diacriticeutf-8-jdbcmysqlhtml/</link>
		<comments>http://alexj.info/2009/06/16/diacriticeutf-8-jdbcmysqlhtml/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 11:39:22 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[diacritice]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JDBC]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[UTF-8]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=961</guid>
		<description><![CDATA[Ce am dorit să fac: un program în Java ce capturează conversații de pe IRC și le stochează într-o bază de date mySQL; din acea bază de date se ia prin PHP și se afișează pe o pagină HTML. Deși pare destul de mult de făcut, necesită puțin cod, dar multă atenție la interconectarea elementlor: [...]]]></description>
			<content:encoded><![CDATA[<p>Ce am dorit să fac: un program în Java ce capturează conversații de pe IRC și le stochează într-o bază de date mySQL; din acea bază de date se ia prin PHP și se afișează pe o pagină HTML. Deși pare destul de mult de făcut, necesită puțin cod, dar multă atenție la interconectarea elementlor: programul Java, conectorul dintre Java-mySQL (JDBC), baza de date mySQL și script-ul PHP.</p>
<p>Am creat &#8216;topologoia&#8217; necesară și programul mergea ok. Dar am descoperit rapid o problemă: pagina web (HTML+PHP) nu afișa diacritice. Și am început să caut prin fiecare element să văd unde era problema ( oricare din componente putea să ducă la problema aceasta).</p>
<p>Am început prin modificarea paginii PHP/HTML și forțarea ca browserul să citeacă caracterele în format <strong>UTF-8</strong>. Codul nu depinde de PHP (am presupus că el transmite corect din baza de date în HTML) ci de headerul HTML.</p>
<blockquote><p>&lt;head&gt;  &lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=utf-8&#8243; /&gt;   [...]  &lt;/head&gt;</p></blockquote>
<p>Al doilea test a fost făcut pe mySQL. Implicit, baza de date codează folosind Latin.  Și tabela unde se făcea scrierea trebuia trecută pe UTF.</p>
<blockquote><p>CREATE TABLE `chats` ( [..] ) DEFAULT CHARSET=utf8;</p></blockquote>
<p>Cum programul Java imprima corect la stdout diacriticile, problema trebuia să fie la JDBC. Suportul pentru UTF a fost adăugat în JDBC, dar trebuia specificat la conectarea cu baza de date. Acest lucru se face pasând un parametru la  URL-ul bazei de date.</p>
<blockquote><p>jdbc:mysql://my_server/my_data_base?unicode=true&amp;characterEncoding=utf-8</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/06/16/diacriticeutf-8-jdbcmysqlhtml/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VirtualBox far away from a business solution</title>
		<link>http://alexj.info/2009/06/12/virtualbox-far-away-from-a-business-solution/</link>
		<comments>http://alexj.info/2009/06/12/virtualbox-far-away-from-a-business-solution/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 19:59:19 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Software Review]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[virtualizare]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[VRDP]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=948</guid>
		<description><![CDATA[Având nevoie de o mașină Windows Server și având la dispoziție doar un server Linux la dispoziție am decis să instalez o soluție de virtualizare. Alegerea inițială a fost VMware server 2 [1], pe motivul că interfața web oferă un control foarte bun de la distanță. De asemenea conectarea la rețea se face foarte ușor.

Problema [...]]]></description>
			<content:encoded><![CDATA[<p>Având nevoie de o mașină Windows Server și având la dispoziție doar un server Linux la dispoziție am decis să instalez o soluție de virtualizare. Alegerea inițială a fost <strong>VMware server 2</strong> <a href="?p=832" target="_blank">[1]</a>, pe motivul că interfața web oferă un control foarte bun de la distanță. De asemenea conectarea la rețea se face foarte ușor.<a href="?p=832" target="_blank"><br />
</a></p>
<p>Problema că serverul respectiv avea resurse modeste și VMware ar fi consumat mare parte din ele. A fost un bun moment de a testa <strong>VirtualBox</strong> ca o soluție de server.  La nivel de utilizare pe o mașină fizică locală, VirtualBox rulează destul de bine, consumând puține resurse.</p>
<p>VirtualBox vine în două versiuni, VirtualBox OSE, distribuită sub licență GPL și VritualBox distribuită sub licență PUEL (closed source dar gratuită pentru uz personal și educațional). Una din diferențe este că cea PUEL vine cu <strong>VRDP</strong> (VirtualBox Remote Desktop Protocol), ce oferă posibilitatea controlării mașinii de la distanță, lucru important pentru situația în care serverul era un Linux box în text mode și altă interfața (web) nu exista pentru control.</p>
<p>Instalarea VirtualBox s-a făcut ușor (apt-get spre deosebire de VMware care nu este oferit pe repositories) dar configurarea a fost mai grea. Neavând o interfață web, lucrurile trebuie făcute prin linia de comandă. Comnezile cheie sunt <strong>VBoxManage </strong>și <strong>VBoxHeadless</strong>. Iată un exemplu de creere mașină cu harddisk<strong> </strong>și pornirea mașinii:</p>
<blockquote><p>VBoxManage createvm -name &#8220;win2003server&#8221; -register<br />
VBoxManage modifyvm &#8220;win2003server&#8221; -memory &#8220;256MB&#8221; -acpi on -boot1 dvd -nic1 nat<br />
VBoxManage createvdi -filename &#8220;win2003server.vdi&#8221; -size 10000 -register<br />
VBoxManage modifyvm &#8220;win2003server&#8221; -hda &#8220;win2003server.vdi&#8221;</p>
<p>VBoxHeadless -startvm &#8220;win2003server&#8221; <strong><br />
</strong></p></blockquote>
<p>Implicit, VRDP rulează pe portul 3389 și poate fi accesat printr-un client RDP (inclusiv Windows Remote Desktop), dar, aparent, acestă bucată are anumite probleme și nu a funcționat.</p>
<p>Altă soluție este instalarea unui server VNC pe mașina virtuală. Pentru acesta trebuia instalat sistemul de operare client pe un alt calculator cu VirtualBox (cu interfață grafică) și mașina migrată pe server. Punctul cel mai slab al VB este migrarea. Dacă în VMware, tot ce trebuia făcut era mutarea fișierelor, în cazut VirtualBox, mutarea fișierelor nu duce neapărat la păstrarea integrității măsinii. Din cauza fișierelor de configurare care depind de mașină (căi absolute și verificări a informațiilor măsinii fizice) nu pot fi mutate mașinile atât de ușor. După înțelegerea și editarea fișierelor XML se poate ajunge la o mașină migrată cu succes (o altă opțiune este mutarea harddisk-ului și crearea unei mașini de la zero ce folosește acel harddisk).  Și după rularea mașinii, a doua mare problemă VirtualBox este configurarea dispozitivelor de rețea care se face foarte greu.</p>
<p>Concluzia este că VirtualBox este departe de nivelul VMware, deși este un produs destul de promițător. Chiar dacă Sun a făcut produsul Open Source în mare parte, comunitatea încă nu a oferit unelete care să ajute soluția de virtualizare (un posibil proiect de a introduce o interfață web pentru VB, similară cu VMware Server 2, este abia la început).</p>
<p>[1] <a href="?p=832">http://alexj.info/?p=832</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/06/12/virtualbox-far-away-from-a-business-solution/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Smart Variable Swapping</title>
		<link>http://alexj.info/2009/05/31/smart-variable-swapping/</link>
		<comments>http://alexj.info/2009/05/31/smart-variable-swapping/#comments</comments>
		<pubDate>Sun, 31 May 2009 13:24:40 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=934</guid>
		<description><![CDATA[Mi-am adus aminte de un mic truc pe care îl foloseam în liceu şi dintr-un motiv necunoscut nu l-am mai folosit de mult, până la un laborator de Sisteme de Operare: schimbarea mai eficientă a unei variabile.
Metoda clasică este folosirea unei variabile auxilitare în care se păstrează una din variabile. A două metodă este folosirea [...]]]></description>
			<content:encoded><![CDATA[<p>Mi-am adus aminte de un mic truc pe care îl foloseam în liceu şi dintr-un motiv necunoscut nu l-am mai folosit de mult, până la un laborator de Sisteme de Operare: schimbarea mai eficientă a unei variabile.</p>
<p>Metoda clasică este folosirea unei variabile auxilitare în care se păstrează una din variabile. A două metodă este folosirea <strong>XOR</strong> (sau exclusiv).</p>
<blockquote><p>var1 = var1 XOR var2<br />
var2  =var1 XOR var2<br />
var1 = var1 XOR var2</p></blockquote>
<p>Partea cea mai bună este că nu este dependentă de tipul de date şi teoretic s-ar putea schimba orice. Astfel, se poate crea uşor şi un macro pentru uz general. Folosind ultimul best practice învăţat despre macro-uri ( encapsularea codului funcţiei într-un do while(0) ), codul în C ar arăta aşa:</p>
<blockquote><p>#define swap(a, b)       \<br />
do                                   \<br />
{                                      \<br />
(a) = (a) ^ (b);               \<br />
(b) = (b) ^ (a);              \<br />
(a) = (a) ^ (b);              \<br />
}while(0)                     \</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/05/31/smart-variable-swapping/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Network Tools: Scapy</title>
		<link>http://alexj.info/2009/04/01/network-tools-scapy/</link>
		<comments>http://alexj.info/2009/04/01/network-tools-scapy/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 08:49:24 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Review]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=785</guid>
		<description><![CDATA[Probabil cel mai interesant lucru cu care am lucrat la cursul de Securitate [1] a fost Scapy. Auzisem de el, ştiam ce este şi ce face dar mi-a plăcut să îl văd prezentat de către cel ce l-a creat şi să fac un laborator cu el.
Scapy [2] este mai mult un framework scris în Python [...]]]></description>
			<content:encoded><![CDATA[<p>Probabil cel mai interesant lucru cu care am lucrat la cursul de Securitate <a href="http://alexj.info/?p=716" target="_blank">[1]</a> a fost <strong>Scapy</strong>. Auzisem de el, ştiam ce este şi ce face dar mi-a plăcut să îl văd prezentat de către cel ce l-a creat şi să fac un laborator cu el.</p>
<p>Scapy <a href="http://www.secdev.org/projects/scapy/" target="_blank">[2]</a> este mai mult un framework scris în Python pentru manipularea traficului de reţea. Rulează peste interpretorul Python şi oferă o serie de classe/obiecte ce reprezintă protocoale de reţea. Nu are o interfaţa grafică şi nu este foarte user-friendly (decât pentru cei ce sunt obişnuiţi cu Pyton), dar este un utilitar foarte puternic pentru testarea reţelelor. Permite în primul rând capturarea pachetelor şi analizarea lor în detaliu, strat cu strat. Dar mai important oferă posibilitatea de a crea pachete şi de a le trimite pe mediu.</p>
<p>Ultima versiune de Scapy este disponibilă la [2] <a href="http://scapy.net" target="_blank">http://scapy.net</a> (download direct de la adresă).</p>
<p>Tip:  puteţi să daţi &#8220;chmod +x scapy-latest.zip&#8221; şi să rulaţi Scapy cu &#8220;./scapy-latest.zip&#8221;.</p>
<p>Pentru o captură simplă de pachete putem folosi comanda <strong>sniff</strong>. Un exemplu:</p>
<blockquote><p>my_cap = sniff(prn=lambda p:p.summary(), timeout=60)</p></blockquote>
<p>În variabila my_cap va fi stocat traficul sub forma unei liste. Funcţia lamba specifică ce din trafic să salveze în listă iar timeout specifică câte secunde să captureze. Rezultatul din variabilă poate fi refolosit pentru orice analiză.</p>
<p>Folosind nişte biblioteci de imagine din Python putem crea o imagine vizuală a traficului. Pentru a face un graf ce conţine legăturile dintre staţii putem folosi &#8220;my_cap.conversations()&#8221; iar rezultatul este ceva de genul următor:</p>
<p><a href="http://alexj.info/wp-content/uploads/2009/04/img_scap.png"><img class="aligncenter size-medium wp-image-787" title="img_scap" src="http://alexj.info/wp-content/uploads/2009/04/img_scap-300x48.png" alt="img_scap" width="300" height="48" /></a></p>
<p>Pentru a genera şi trimite un pachet de date, creăm instanţe de obiecte, encapsulăm datele şi le trimitem. Exemplu (parametrii sunt flexibili) :</p>
<blockquote><p>&gt;&gt;&gt; my_packet = IP(dst=&#8221;192.168.208.1&#8243;)</p>
<p>&gt;&gt;&gt; my_packet.ttl = 12</p>
<p>&gt;&gt;&gt; my_segment = TCP(dport= 2346)</p>
<p>&gt;&gt;&gt; send(my_packet/my_segment/&#8221;test&#8221;)</p></blockquote>
<p>&#8220;/&#8221; este operatorul de encapsulare. Payload-ul (un string, &#8220;test&#8221;) este encapsulat cu un header TCP (my_segment) care este la rândul lui encapsulat într-un pachet IP.</p>
<p>Rezultatul pe destinaţie</p>
<p style="text-align: center;"><a href="http://alexj.info/wp-content/uploads/2009/04/scapy.jpg"><img class="aligncenter size-medium wp-image-788" title="scapy" src="http://alexj.info/wp-content/uploads/2009/04/scapy-300x173.jpg" alt="scapy" width="300" height="173" /></a></p>
<p>Scapy este Open Source (sau în franceză, pentru că este este scris de un francez, Logiciel libre).</p>
<p>[1] <a href="http://alexj.info/?p=716">http://alexj.info/?p=716</a></p>
<p>[2] <a href="http://www.secdev.org/projects/scapy/" target="_blank">http://www.secdev.org/projects/scapy/</a></p>
<p>[3] <a href="http://scapy.net">http://scapy.net</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/04/01/network-tools-scapy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cisco VoIP quick HOWTO</title>
		<link>http://alexj.info/2009/03/19/cisco-voip-quick-howto/</link>
		<comments>http://alexj.info/2009/03/19/cisco-voip-quick-howto/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 12:32:24 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Cisco Networking Academy]]></category>
		<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Call Manager Express]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Cisco Call Manager]]></category>
		<category><![CDATA[dynagen]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[IP Telephony]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=503</guid>
		<description><![CDATA[Una din direcţiile majore de dezvoltare a Cisco este Voice over IP. Cisco oferă un număr mare de echipamente, software şi soluţii pentru VoIP.
Soluţiile VoIP se conectrează în jurul a Cisco Call Manager care este un Call Agent. Este un software ce face administrarea reţelei de VoIP. Acest software vine în două variante: Cisco Call [...]]]></description>
			<content:encoded><![CDATA[<p>Una din direcţiile majore de dezvoltare a Cisco este Voice over IP. Cisco oferă un număr mare de echipamente, software şi soluţii pentru VoIP.</p>
<p>Soluţiile VoIP se conectrează în jurul a <strong>Cisco Call Manager</strong> care este un Call Agent. Este un software ce face administrarea reţelei de VoIP. Acest software vine în două variante: <strong>Cisco Call Manager</strong> (sau după noua denumire dată de <strong>Cisco Unified Communications Manager</strong>&#8230; este acelaşi lucru) ce este un software ce rulează pe un server x386 peste MS Windows sau <strong>Call Manager Express</strong> (<strong>CME</strong> sau <strong>Cisco Unified Communications Manager Express</strong>) ce este un pachet ce rulează pe un router Cisco peste IOS.  Ambele oferă aceleaşi facilităţi de bază. Imaginile de IOS ce vin cu CME au, de obicei, &#8216;voice&#8217; în nume.</p>
<p>CME este compatibil cu o suită întreagă de protocoale VoIP printre care SIP, H323 şi SCCP. <strong>SSCP</strong> ( sau <strong>Skinny</strong>) este protocolul proprietar Cisco şi este suportat de majoritatea echipamentelor Cisco de Voce.</p>
<p>Clienţii pentru Call Manager sunt de obicei Telefoane IP ( ex 7960, 7906G )sau <strong>Cisco IP Communicator</strong> care este un program pentru Windows ce simulează un telefon (mai este cunoscut şi ca Softphone).</p>
<p>Call Manager Express oferă un wizard pentru configurarea telfoniei IP prin comanda &#8220;telephony-service setup&#8221;.</p>
<p>Iată o configurare simplă ( liniile notate cu * sunt explicaţii)<a href="?p=104" target="_blank"><br />
</a></p>
<blockquote><p>Router&gt;enable</p>
<p>Router#configure terminal</p>
<p>Router(config)#interface f0/0</p>
<p>Router(config-if)#ip address 10.0.0.254 255.0.0.0</p>
<p>Router(config-if)#no shutdown</p>
<p>Router(config-if)#exit</p>
<p>Router(config)#telephony-service setup</p>
<p>Do you want to setup DHCP service for your IP Phones? [yes/no]: yes</p>
<p>*Activează un pool DHCP pentru telefoane</p>
<p>IP network for telephony-service DHCP Pool:10.0.0.0</p>
<p>Subnet mask for DHCP network :255.0.0.0</p>
<p>TFTP Server IP address (Option 150) : 150</p>
<p>* Prin Opţiunea 150 de la DHCP (netransmisă implicit), telefonul IP va ştii adresa serveului TFTP</p>
<p>TFTP Server IP address (Option 150) :10.0.0.254</p>
<p>Default Router for DHCP Pool :10.0.0.254</p>
<p>Do you want to start telephony-service setup? [yes/no]: yes</p>
<p>Enter the IP source address for Cisco IOS Telephony Services :10.0.0.254</p>
<p>Enter the Skinny Port for Cisco IOS Telephony Services :  [2000]:</p>
<p>How many IP phones do you want to configure :  [0]: 2</p>
<p>*Numărul de telefoane ce se vor conecta la CME</p>
<p>Do you want dual-line extensions assigned to phones? [yes/no]: yes</p>
<p>What Language do you want on IP phones : 0</p>
<p>Which Call Progress tone set do you want on IP phones : 0</p>
<p>What is the first extension number you want to configure : 100</p>
<p>*Numărul de telefon primit pe prima linie a primului telefon ce se înregistrează la CME</p>
<p>Do you have Direct-Inward-Dial service for all your phones? [yes/no]: no</p>
<p>Do you want to forward calls to a voice message service? [yes/no]: no</p>
<p>Do you wish to change any of the above information? [yes/no]: no</p></blockquote>
<p>Acest setup va crea in running-config setările necesare pentru VoIP.</p>
<p>Se observă că adresa 10.0.0.254 a fost completată de 3 ori (ca Default Gateway, TFTP server şi IOS Telephony Services). Nu este obigatoriu ca aceste adrese să coincidă, pentru că nu este obligatoriu ca routerul respectiv să indeplinească toate rourile acestea. Default Gateway este routerul setat pe telefonul IP pentru a ieşi din reţeaua locală (serverul SCCP sau TFTP poate să fie în alt broadcast domain). Serverul TFTP oferă telefonului setările sale sub forma unui fişier XML (în acest fişier se va afla adresa/protul serverului SCCP). IOS Telephony Services este serverul cu CME ce are pornit serverul SCCP şi care va procesa semnalele de telefonie.</p>
<p>[1] <a href="http://alex.clubcisco.ro?p=104" target="_blank">http://alex.clubcisco.ro?p=104</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/03/19/cisco-voip-quick-howto/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Gmail Task &amp; Firefox</title>
		<link>http://alexj.info/2009/02/28/gmail-task-firefox/</link>
		<comments>http://alexj.info/2009/02/28/gmail-task-firefox/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 10:19:14 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GMail]]></category>
		<category><![CDATA[GMail Tasks]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=685</guid>
		<description><![CDATA[Unul din tool-urile de la Google Labs este Gmail Tasks. Este un sistem foarte simplu de notițe pentru lucrurile ce trebuiesc făcute zilnic și spre deosebire de Google Notebook pe care l-am mai recomandat [1] pentru asta, știe să facă doar notițe de taskuri.
Pentru activare, folosiți link-ul de Labs din contul de Gmail.
Lista de task-uri [...]]]></description>
			<content:encoded><![CDATA[<p>Unul din tool-urile de la Google Labs este <strong>Gmail Tasks</strong>. Este un sistem foarte simplu de notițe pentru lucrurile ce trebuiesc făcute zilnic și spre deosebire de Google Notebook pe care l-am mai recomandat <a href="http://alexj.info/?p=370">[1]</a> pentru asta, știe să facă doar notițe de taskuri.</p>
<p>Pentru activare, folosiți link-ul de Labs din contul de Gmail.</p>
<p>Lista de task-uri poate fi ținută la îndemână prin Firefox Bookmarks, într-un sidebar.  Pentru aceasta, trebuie adăugat linkul <a href="http://mail.google.com/tasks/ig">http://mail.google.com/tasks/ig</a> în bookmarks. După creerea lui, click dreapta pe el, apoi din Properties se selectează opțiunea &#8220;Load this bookmark in the sidebar&#8221;.</p>
<p>Rezultatul este că dacă se dă click pe bookmark, pagina va apărea într-un sidebar în stânga paginii actuale.</p>
<p><img class="aligncenter size-medium wp-image-688" title="gmail_tasks" src="http://alexj.info/wp-content/uploads/2009/02/gmail_tasks-294x300.png" alt="gmail_tasks" width="294" height="300" /></p>
<p>[1]<a href="http://alexj.info/?p=370"> http://alexj.info/?p=370</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/02/28/gmail-task-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenVZ Full HOWTO &#8211; Part I: Basic Install</title>
		<link>http://alexj.info/2009/02/14/openvz-full-howto-part-i-basic-install/</link>
		<comments>http://alexj.info/2009/02/14/openvz-full-howto-part-i-basic-install/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 23:09:48 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Review]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenVZ]]></category>
		<category><![CDATA[virtualizare]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=535</guid>
		<description><![CDATA[Am mai discutat despre OpenVZ [1] iar în continuare voi prezenta un deployment simplu.
Pornim de la o maşină VMware (în cazut unei instalări reale, în locul mașinii VMware am avea o stație fizică) în care avem instalat un Debian Lenny (basic install). Acesta va fi serverul OpenVZ cu numele de hostname Cronus. Instalăm pe el [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Am mai discutat despre <strong>OpenVZ</strong> <a href="?p=464">[1]</a> iar în continuare voi prezenta un deployment simplu.</p>
<p style="text-align: left;">Pornim de la o maşină VMware (în cazut unei instalări reale, în locul mașinii VMware am avea o stație fizică) în care avem instalat un <strong>Debian Lenny</strong> (basic install). Acesta va fi serverul OpenVZ cu numele de hostname <em>Cronus</em>. Instalăm pe el un server OpenSSH pentru a uşura controlul maşinii. Măsina este conectată la maşina fizică prin interfaţa eth0, care este şi conexiunea la Internet (prin NAT). Paşii de instalare OpenVZ ar fi:</p>
<p>Adăugare Repository</p>
<p style="text-align: left;"><strong>cronus:~# echo  &#8220;deb http://download.openvz.org/debian-systs etch openvz&#8221; &gt;&gt; /etc/apt/sources.list</strong></p>
<p style="text-align: left;"><strong>cronus:~# wget -q http://download.openvz.org/debian-systs/dso_archiv_signing_key.asc -O- | apt-key add &#8211; &amp;&amp; apt-get update</strong></p>
<p style="text-align: left;">Instalat Kernel (varianta pentru mai puţin de 4GB de RAM)</p>
<p style="text-align: left;"><strong>cronus:~# apt-get install fzakernel-2.6.18-686</strong></p>
<p style="text-align: left;"><strong>cronus:~# vim /boot/grub/menu.lst   [kernelul fza trebuie pus ca default]</strong></p>
<p style="text-align: left;"><strong>cronus:~# reboot</strong></p>
<p style="text-align: left;">Instalare utilitare de control şi template-ul de container Debian</p>
<pre style="text-align: left;"><strong>cronus:~# apt-get install vzctl vzquota
cronus:~# apt-get install linux-image-openvz-686
cronus:~# apt-get install vzctl-ostmpl-debian-5.0-i386-minimal

</strong>Creere containere (3 maşini)
<strong>cronus:~# vzctl create 10 --ostemplate debian-5.0-i386-minimal
cronus:~# vzctl create 20 --ostemplate debian-5.0-i386-minimal
cronus:~# vzctl create 30 --ostemplate debian-5.0-i386-minimal

</strong>Pornire maşini<strong>
</strong><strong><strong>cronus:~# vzctl start 10
cronus:~# vzctl </strong></strong><strong><strong><strong><strong>start </strong></strong></strong></strong><strong><strong>20
cronus:~# vzctl </strong></strong><strong><strong><strong><strong>start</strong></strong></strong></strong><strong><strong> 30
</strong></strong>
Setare hostname-uri
<strong><strong><strong><strong>cronus:~# vzctl enter 10</strong></strong></strong></strong>
<strong>root@localhost:/# echo "zeus"&gt;/etc/hostname
root@localhost:/# exit</strong>
<strong><strong><strong><strong>cronus:~# vzctl </strong></strong></strong></strong><strong><strong><strong><strong><strong><strong><strong><strong>enter</strong></strong></strong></strong></strong></strong></strong></strong><strong><strong><strong><strong> 20</strong></strong></strong></strong>
<strong>root@localhost:/# echo "poseidon"&gt;/etc/hostname
root@localhost:/# exit</strong>
<strong><strong><strong><strong>cronus:~# vzctl </strong></strong></strong></strong><strong><strong><strong><strong><strong><strong><strong><strong>enter</strong></strong></strong></strong></strong></strong></strong></strong><strong><strong><strong><strong> 30</strong></strong></strong></strong>
<strong>root@localhost:/# echo "hades"&gt;/etc/hostname
root@localhost:/# exit</strong>

Un restart la maşini (pentru hostname)
<strong><strong><strong><strong><strong><strong><strong><strong>cronus:~# vzctl restart 10</strong></strong></strong></strong></strong></strong></strong></strong>
<strong><strong><strong><strong><strong><strong><strong><strong>cronus:~# vzctl restart 20
</strong></strong></strong></strong></strong></strong></strong></strong><strong><strong><strong><strong><strong><strong><strong><strong>cronus:~# vzctl restart 30

</strong></strong></strong></strong></strong></strong></strong></strong>Testare (comandă la distanţă)<strong><strong><strong><strong><strong><strong><strong><strong>
cronus:~# uname -a
<em>Linux cronus 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux</em>
cronus:~# vzctl exec 10 uname -a
<em>Linux zeus 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux</em>
cronus:~# vzctl exec 20 uname -a
<em>Linux poseidon 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux</em>
cronus:~# vzctl exec 30 uname -a
<em>Linux hades 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux</em>

</strong></strong></strong></strong></strong></strong></strong></strong>Tips &amp; triks:<strong><strong><strong><strong><strong><strong><strong><strong> </strong></strong></strong></strong></strong></strong></strong></strong>Alias la comenzi<strong><strong><strong><strong><strong><strong><strong><strong>
cronus:~# echo "alias zeus='vzctl enter 10'"&gt;&gt;~/.bashrc
cronus:~# echo "alias poseidon='vzctl enter 20'"&gt;&gt;~/.bashrc
cronus:~# echo "alias hades='vzctl enter 30'"&gt;&gt;~/.bashrc
cronus:~# source ~/.bashrc
</strong></strong></strong></strong></strong></strong></strong></strong>Rezultat:<strong><strong><strong><strong><strong><strong><strong><strong>
cronus:~# zeus
<em>entered into CT 10</em>
root@zeus:/#
</strong></strong></strong></strong></strong></strong></strong></strong>
Paginile de documentaţie folosite au fost <a href="http://wiki.openvz.org/Installation_on_Debian" target="_blank">[2]</a> şi <a href="http://wiki.openvz.org/Basic_operations_in_OpenVZ_environment" target="_blank">[3]</a>.</pre>
<p style="text-align: left;">[1] <a href="?p=464">http://alexj.info/?p=464</a></p>
<p style="text-align: left;">[2] <a href="http://wiki.openvz.org/Installation_on_Debian" target="_blank">http://wiki.openvz.org/Installation_on_Debian</a></p>
<p style="text-align: left;">[3] <a href="http://wiki.openvz.org/Basic_operations_in_OpenVZ_environment" target="_blank">http://wiki.openvz.org/Basic_operations_in_OpenVZ_environment</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/02/14/openvz-full-howto-part-i-basic-install/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Home Routers: Switching module for Dynagen Emulation. Wireshark</title>
		<link>http://alexj.info/2009/01/25/home-routers-switching-module-for-dynagen-emulation-wireshark/</link>
		<comments>http://alexj.info/2009/01/25/home-routers-switching-module-for-dynagen-emulation-wireshark/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 21:03:22 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Cisco Networking Academy]]></category>
		<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Review]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[DTP]]></category>
		<category><![CDATA[dynagen]]></category>
		<category><![CDATA[dynamips]]></category>
		<category><![CDATA[routers]]></category>
		<category><![CDATA[switching]]></category>
		<category><![CDATA[traffic analysis]]></category>
		<category><![CDATA[Wireshark]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=565</guid>
		<description><![CDATA[Am mai vorbit de Dynamips/Dynagen [1] şi despre cum, nativ, nu are suport pentru a emula un Switch Catalyst. Ce putem face pentru a avea switchuri în toplogiile de testare? Răspunsul este folosirea unui modul de switch încărcat într-un slot din routerul virtual, cum ar fi NM-16ESW.
Scopul folosirii respectivului modul a fost captutarea de pachete [...]]]></description>
			<content:encoded><![CDATA[<p>Am mai vorbit de <strong>Dynamips/Dynagen</strong> <a href="/?p=80">[1]</a> şi despre cum, nativ, nu are suport pentru a emula un Switch Catalyst. Ce putem face pentru a avea switchuri în toplogiile de testare? Răspunsul este folosirea unui modul de switch încărcat într-un slot din routerul virtual, cum ar fi NM-16ESW.</p>
<p>Scopul folosirii respectivului modul a fost captutarea de pachete DTP (Dynamic Trunking Protocol) pentru a observa negocierea între doua switch-uri.</p>
<p>Am pornit de la înstalarea Dynagen <a href="/?p=80">[1]</a> şi configurarea unei interfeţe de loopback <a href="?p=171">[2]</a>.</p>
<p>În fişierul de configurare am încărcat o imagine pentru un Router Cisco 3640 cu modulul de switching şi am setat ca o interfaţă din slot-ul de porturi de switch să fie legată cu interfaţa de loopback <a href="?p=104">[3].</a></p>
<p>Configurarea unui Router arată astfel:</p>
<blockquote><p>[[Router R1]]<br />
model = 3640<br />
slot0 = NM-16ESW<br />
F0/0 = NIO_gen_eth:\Device\NPF_{7A7D2C17-D0C3-44AA-B17C-5417EF972BF9}</p></blockquote>
<p>După ce am pornit routerele, comenzile de switchport au fost activate, inclusiv posibilitatea configurării interfeţei de management Vlan1 pe care am pus IP pentru a avea conectivitate între cele două switchuri şi calculatorul gazdă.</p>
<p>Următorul pas a fost instalarea <strong>Wireshark</strong> <a href="http://www.wireshark.org/" target="_blank">[4]</a>. Wireshark, fostul Ethereal, este un program Open Source de captură a pachetelor. Suportă un număr foarte mare de protocoale, de la layer 2 până la 7 şi este un utilitar foarte puternic de analză a traficului.</p>
<p>Topologia a functionat ok, Wireshark a capturat traficul STP, CDP şi altele dintre &#8220;switch-uri&#8221;.</p>
<p>Problema a fost că am aflat tărziu de limitările modulului de switching. Nu suportă DTP, <span class="postbody">PAgP / LACP, BPDU-guard, ISL, şi VLAN-uri private (şi altele probabil).</span></p>
<p>Mulţumesc, BogdanS pentru ajutor. <img src='http://alexj.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>[1] <a href="/?p=80">http://alex.clubcisco.ro/?p=80</a></p>
<p>[2] <a href="/?p=171">http://alex.clubcisco.ro/?p=171 </a></p>
<p>[3] <a href="http://alex.clubcisco.ro/?p=104">http://alex.clubcisco.ro/?p=104</a></p>
<p>[4] <a href="http://www.wireshark.org/" target="_blank">http://www.wireshark.org/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2009/01/25/home-routers-switching-module-for-dynagen-emulation-wireshark/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Virtualizare: OpenVZ</title>
		<link>http://alexj.info/2008/12/25/virtualizare-openvz/</link>
		<comments>http://alexj.info/2008/12/25/virtualizare-openvz/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 16:54:26 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Software Review]]></category>
		<category><![CDATA[OpenVZ]]></category>
		<category><![CDATA[paravirtualizare]]></category>
		<category><![CDATA[virtualizare]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=464</guid>
		<description><![CDATA[Deşi majoritatea virtualizării pe care o fac e prin VMware, vă prezint o altă variantă de multiplexare a sistemelor de operare pe o singură maşină: paravirtualizarea. Dacă în soluţiile bazate pe VMware, VirtualBox sau VirtualPC, sistemul de operare client era într-o maşină virtuală, cu hardware virtual (procesor, harddisk, placă video, placă sunet virutuale etc.), sistemele [...]]]></description>
			<content:encoded><![CDATA[<p>Deşi majoritatea virtualizării pe care o fac e prin VMware, vă prezint o altă variantă de multiplexare a sistemelor de operare pe o singură maşină: <strong>paravirtualizarea</strong>. Dacă în soluţiile bazate pe VMware, VirtualBox sau VirtualPC, sistemul de operare client era într-o maşină virtuală, cu hardware virtual (procesor, harddisk, placă video, placă sunet virutuale etc.), sistemele paravirtualizate au acces direct la hardware-ul adevărat, sistemul de operare gazdă făcând partajarea resurselor.</p>
<p>O astfel de soluţie este <strong>OpenVZ</strong> <a href="http://openvz.org">[1]</a>, bazat pe <strong>Virtuozzo</strong>. OpenVZ necesită un kernel de Linux şi peste sistemul de operare Linux se pot lansa mai multe instanţe de alte distribuţii Linux numite <strong>container</strong>. Fiecare sistem are useri, arbori de procese, programe, interfeţe de reţea proprii.</p>
<p>Site-ul OpenVZ pune la dispoziţie LiveCD-uri de CentOS şi Knoppix <a href="http://wiki.openvz.org/Download/live_CD">[2]</a> ce vin cu <strong>template</strong>-uri  pentru mai multe sisteme de operare client (ex Debian) pentru a putea testa sistemul.</p>
<p>Instalarea este explicată destul de bine pe site-ul lor pentru CentOS (rpm based) <a href="http://wiki.openvz.org/Quick_installation">[3]</a> şi Debian (deb based) <a href="http://wiki.openvz.org/Installation_on_Debian">[4]</a>. În mare, impică descărcarea şi instalarea pachetelor OpenVZ, descărcarea kernel-ului special de OpenVZ şi modificarea bootloader-ului pentru a încărca acest kernel la pornire, descărcarea de template-uri pentru sistemele de operare client şi în final crearea de maşini din aceste template-uri.</p>
<p>Sistemul este destul de eficent şi scalabil. Este potrivit pentru un server ce doreşte să ofere clienţilor acces complet la un sistem de operare nu doar la un user.</p>
<p>[1] <a href="http://openvz.org" target="_blank">http://openvz.org</a></p>
<p>[2] <a href="http://wiki.openvz.org/Download/live_CD">http://wiki.openvz.org/Download/live_CD</a></p>
<p>[3] <a href="http://wiki.openvz.org/Quick_installation">http://wiki.openvz.org/Quick_installation</a></p>
<p>[4] <a href="http://wiki.openvz.org/Installation_on_Debian">http://wiki.openvz.org/Installation_on_Debian</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/12/25/virtualizare-openvz/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Diacritice</title>
		<link>http://alexj.info/2008/12/07/diacritice/</link>
		<comments>http://alexj.info/2008/12/07/diacritice/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 10:08:07 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Link-uri]]></category>
		<category><![CDATA[diacritice]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[tastaturi]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=421</guid>
		<description><![CDATA[Unul din motivele pentru care nu se folosesc diacriticile în texte scrise în limba română este dificultatea mapării pe tastatură. După cum au observat cei doi invitaţi străini de la Mozilla [1] ce au venit în românia, în ţara noastră nu există (sau aproape deloc) tastaturi mapate pe caracterele româneşti). Toate tastaturile sunt mapate pe [...]]]></description>
			<content:encoded><![CDATA[<p>Unul din motivele pentru care nu se folosesc diacriticile în texte scrise în limba română este dificultatea mapării pe tastatură. După cum au observat cei doi invitaţi străini de la Mozilla <a href="http://alexj.info?p=413">[1]</a> ce au venit în românia, în ţara noastră nu există (sau aproape deloc) tastaturi mapate pe caracterele româneşti). Toate tastaturile sunt mapate pe tastatura US, iar celor începători în calculatoare le este greu să foloseasca o astfel de tastatura chiar dacă din sistemul de operare se face maparea software cu un alt alfabet ( majoritatea persoanelor folosesc legătura vizuală între ce scrie pe tastă şi ce ar trebui să vadă imprimat pe monitor).</p>
<p>Pentru cel ce folosesc Windows, soluţia la problema diacriticelor este instalarea tastaturii în Română pe lângă cea în engleză şi schimbarea cu o combinaţie de taste (gen Left-Ctrl+ LeftShift) între cele doua. Soluţia a doua, mult mai simplă, am descoperit-o pe site-ul <strong>diacritice.ro</strong> <a href="http://diacritice.ro" target="_blank">[2]</a>. Site-ul pune la dispoziţie un mic progrămel <a href="http://www.diacritice.ro/system/files/rops.exe">[3]</a> care oferă Windows-ului un nou tip de mapare pe tastatură ce este o combinaţie între cea US şi cea RO. Mai exact, maparea US rămâne standard, iar peste ea se mai adaugă diacriticele ăîşţ  prin folosirea tastei Alt (din dreapta) împreună cu tastele a i s t. Majusculele se obţin prin folosirea tastelor Alt şi Shift. Astfel, cei obişnuiţi cu tastatura US nu vor fi afectaţi, iar cei ce doresc să scrie cu diacritice nu mai sunt nevoiţi să schimbe maparea. Faptul că se foloseste doar tasta Alt din drepta nu opreşte folosirea combinaţiilor Alt (stânga)  cu alte taste pentru alte programe.</p>
<p>Combinaţiile de taste sunt:</p>
<ul>
<li>R-Alt (Alt dreapta se foloseşte pentru toate combinaţiile) + a = ă</li>
<li>R-Alt + q = â</li>
<li>R-Alt + i = î</li>
<li>R-Alt + s = ş</li>
<li>R-Alt + t = ţ</li>
<li>R-Alt + e = €</li>
<li>R-Alt + p = §</li>
<li>R-Alt + c = ©</li>
<li>R-Alt + [ = „ (gilimele jos)</li>
<li>R-Alt + ] = ” (gilimele sus, diferite de &#8221; )</li>
<li>R-Alt + , = «</li>
<li>R-Alt + &gt; = »</li>
<li>R-Alt + Shi<strong>f</strong>t ( ori stânga ori dreapta) + a = Ă</li>
<li>R-Alt + Shi<strong>f</strong>t + q / i / s / t = Â / Î / Ş / Ţ</li>
</ul>
<p>De menţionat că în Linux, acestă mapare vine implicită.</p>
<p>[1] <a href="alexj.info?p=413">http://alexj.info?p=413</a></p>
<p>[2] <a href="http://diacritice.ro" target="_blank">http://diacritice.ro</a></p>
<p>[3] <a href="http://www.diacritice.ro/system/files/rops.exe" target="_blank">http://www.diacritice.ro/system/files/rops.exe</a></p>
<p>Later edit:</p>
<p>Mă alătur unei campanii pentru promovarea scrisului corect:<br />
<a title="Noi vorbim româneşte! " href="http://vorbimromaneste.wordpress.com/" target="_blank"><img src="http://vorbimromaneste.files.wordpress.com/2008/02/1.jpg" alt="http://vorbimromaneste.wordpress.com/" height="120" /></a></p>
<p>[4] <a href="http://vorbimromaneste.wordpress.com/2008/02/03/fratilor-nu-distrugeti-limba-romana/" target="_blank">http://vorbimromaneste.wordpress.com/2008/02/03/fratilor-nu-distrugeti-limba-romana/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/12/07/diacritice/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Home Routers: GNS3 &amp; IPv6</title>
		<link>http://alexj.info/2008/11/13/home-routers-gns3-ipv6/</link>
		<comments>http://alexj.info/2008/11/13/home-routers-gns3-ipv6/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 15:55:42 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Cisco Networking Academy]]></category>
		<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[dynamips]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[GNS3]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[IP address]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[RIP]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[routing]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=92</guid>
		<description><![CDATA[Termenul de care aud mult prea des in ultimul timp este IPv6. Don&#8217;t get me wrong, sunt pro IPv6, doar ca nu imi place ca se vorbeste prea mult si se implementeaza prea putin. In curiculumul nou de CCNA4 exista o buna bucata de IPv6 (desi calitatea lui lasa de dorit, precum si lipsa laboratoarelor [...]]]></description>
			<content:encoded><![CDATA[<p>Termenul de care aud mult prea des in ultimul timp este <strong>IPv6</strong>. Don&#8217;t get me wrong, sunt pro IPv6, doar ca nu imi place ca se vorbeste prea mult si se implementeaza prea putin. In curiculumul nou de CCNA4 exista o buna bucata de IPv6 (desi calitatea lui lasa de dorit, precum si lipsa laboratoarelor practice).</p>
<p>Am decis sa fac un mini-lab in GNS3 (btw, ati putea sa va uitat peste <a href="?p=80">Introul la GNS3</a>) in care sa implementez basic IPv6 cu <strong>RIP</strong> ca protocol de rutare. O topologie cu 4 routere, legate astfel:</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/gns3_ipv6_top.jpg"><img class="aligncenter size-full wp-image-93" title="gns3_ipv6_top" src="http://alexj.info/wp-content/uploads/2008/08/gns3_ipv6_top.jpg" alt="" width="500" height="304" /></a></p>
<p>Primul lucru pe care il vom face e sa aplicam adresele. Ce mi-a placut mie la IPv6 e faptul ca merge mai usor configurarea pentru ca e mai putin de scris (cel putin daca folosesc adrese simple, pentru laburi). Desi adresa v6 este mult mai lunga, exista o metoda de a prescurta o adresa prin neglijarea zerourilor (ex. 0001:0000:0000:0000:0000:0000:0000:0002 se poate scrie doar 1::2). Pe langa prescurtarea adresei se prescurteaza si subnetul (deci vom folosi notatia cu / ex. /64).</p>
<p>Vom folosi patru retele /96 de exemplu (asta inseamna ca fiecare retea va avea disponibile atatea adrese IP pentru hosturi cat tot spatiul de adresare IPv4&#8230;cool huh? <img src='http://alexj.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  merge impotriva a tot ce am invatat despre conservarea IPurilor <img src='http://alexj.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ). Si vom avea retele 1::0, 2::0, 3::0 si 4::0 /96.  Configuarea va arata cam asa:</p>
<p><strong>R1&gt;en</strong></p>
<p><strong>R1#configure terminal</strong></p>
<p><strong>R1(config)#interface f0/0</strong></p>
<p><strong>R1(config-if)#ipv6 address 1::1/96</strong></p>
<p><strong>R1(config-if)#no shutdown</strong></p>
<p><strong>R1(config)#end</strong></p>
<p>Practic singura diferenta este faptul ca in loc de &#8220;ip address&#8221; avem &#8220;ipv6 addess&#8221;. Atentie, o interfata poate avea ambele adrese IP, si v4 si v6.</p>
<p>Facem o verificare daca am configurat cum trebuie cu<strong> #show <span style="text-decoration: underline;">ipv6</span> interface brief</strong>.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/gns3_ipv6_sh_brief.jpg"><img class="aligncenter size-full wp-image-100" title="gns3_ipv6_sh_brief" src="http://alexj.info/wp-content/uploads/2008/08/gns3_ipv6_sh_brief.jpg" alt="" width="500" height="283" /></a></p>
<p>Facusem o greseala si vroiam sa va atrag atentia Pe R1 am setat gresit adresa ip (v6) si apoi am setat-o si pe cea buna. Nu se suprascrie peste cea veche&#8230; pot fi mai multe adrese asociate unei interfete. Am corectat dupa. Daca incercati sa dati <strong>show ip int brief</strong> veti vedea ca nu este nimic acolo. Sunt stackuri diferite&#8230; saterile ipv4 cu cele ipv6 nu au nici o legatura.</p>
<p>Hai sa trecem la routare. Prima data trebuie sa activam forward-area de pachete ipv6 prin comanda data pe toate routerele</p>
<p><strong>R1(config)#ipv6 unicast-routing</strong></p>
<p>Next, pornim RIP-ul. RIPv6 seamana putin cu OSPF deoarece putem lansa mai multe instante, doar ca in loc sa fie identificate prin numar de proces, sunt identificate printr-un nume. Activarea RIP se face prin</p>
<p><strong>R1(config)#ipv6 router rip <em>nume</em></strong></p>
<p><strong>R1(config-rtr)#<em>exit</em></strong></p>
<p>Spre deosebire de RIPul vechi, nu vom mai specifica retelele pe care facem schimb de route, ci vom specifica interfetele.</p>
<p><strong>R1(config-if )#ipv6 rip <em>nume </em>enable</strong><strong><br />
</strong></p>
<p>Verificam daca au fost invatate rutele prin <strong>show ipv6 route</strong></p>
<p>Informatile despre procesele RIP le aflat prin <strong>show ipv6 rip</strong></p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/gns3_ipv6_sh_route.jpg"><img class="aligncenter size-medium wp-image-101" title="gns3_ipv6_sh_route" src="http://alexj.info/wp-content/uploads/2008/08/gns3_ipv6_sh_route-300x167.jpg" alt="" width="300" height="167" /></a></p>
<p>In tabele din <strong>show ip route</strong> nu se va produce nici o modificare deoarece, dupa cum am zis, sunt stive diferite.</p>
<p>Un <strong>ping </strong>intre oricare adrese va demonsta ca avem o convergenta.</p>
<p>That&#8217;s all.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/11/13/home-routers-gns3-ipv6/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Guide to Remote Admin Tools</title>
		<link>http://alexj.info/2008/10/26/guide-to-remote-admin-tools/</link>
		<comments>http://alexj.info/2008/10/26/guide-to-remote-admin-tools/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 18:29:58 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Cisco Networking Academy]]></category>
		<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Geek Stuff]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Link-uri]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Review]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[fireftp]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Putty]]></category>
		<category><![CDATA[realvnc]]></category>
		<category><![CDATA[remote admin]]></category>
		<category><![CDATA[remote desktop]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[sdm]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[telnet]]></category>
		<category><![CDATA[tightvnc]]></category>
		<category><![CDATA[vnc]]></category>
		<category><![CDATA[webmin]]></category>
		<category><![CDATA[winscp]]></category>
		<category><![CDATA[yast]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=67</guid>
		<description><![CDATA[Multe din taskurile unui sysadmin nu se fac de pe tastatura conectata la masina respectiva. Deci administrarea de la distanta a sistemelor este un skill important. Am sa trec in revista cateva tool-uri pe care eu le folosesc.
Primul protocol la care ma gandesc cand vine vorba de subiectul acesta, este telnet, dar practic asaceva nu [...]]]></description>
			<content:encoded><![CDATA[<p>Multe din taskurile unui sysadmin nu se fac de pe tastatura conectata la masina respectiva. Deci administrarea de la distanta a sistemelor este un skill important. Am sa trec in revista cateva tool-uri pe care eu le folosesc.</p>
<p>Primul protocol la care ma gandesc cand vine vorba de subiectul acesta, este <strong>telnet</strong>, dar practic asaceva nu exista <img src='http://alexj.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  (poate doar pentru routere si switchuri Cisco neconfigurare cu securitate <img src='http://alexj.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ). <strong>SSH</strong>-ul este probabil cel mai puternic si cel mai folosit. Secure Shell-ul este secure deoarece foloseste criptare prin RSA cu perechi de chei pentru a asigura o conexiune protejata. In situatia in care masina remote este un Linux box, mai mult ca sigur are instalat <strong>openSSH </strong>(trebuie doar pornit, sau permis din firewall). Cand vine vorba de Windows, nu prea am vazut servere SSH (dar asta nu inseamna ca nu exista). Daca masina locala este un Linux, partea client side e rezolvata&#8230; accesul remote se face folosind utiliatul <strong>ssh </strong>(sintaxa fiind <strong>ssh user@domain</strong> ). Daca suntem pe Windows (sau pe Linux dar vrem alt tool) avem <a title="Putty" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" target="_blank"><strong>Putty</strong></a>. M-am indragostit de el de cand l-am vazut dintr-un simplu motiv: era o aplicatie standalone de dimensiuni mici (deci de oriunde puteam sa il downloadez de pe net si sa il rulez fara install). 90% din ce fac eu remote, fac cu ajutorul lui Putty.</p>
<p>In cazul in care aveti nevoie de transfer de fisisre (upload mai exact) aveti basicly doua optiuni. Una este FTP-ul clasic. Eu de obicei folosesc drept client <strong>FireFTP</strong> care este un plugin pentru Firefox.  Dar de multe ori servicul de FTP nu este deschis pe server (sau nu exista acces la tot sistemul de fisiere). In acest caz eu obisnuiesc sa folosesc utilitarul din pachetul SSH <strong>scp</strong> (secure copy). Copiere Linux-Linux este usor deoarece comanda scp vine odata cu clientul de ssh (sintaxa este <strong>scp fisier_local user@server:/cale/catre/director </strong>pentru upload&#8230; pt download pur si simplu schimbati ordinea server-clinet&#8230; wildcard-urile sunt permise). Daca sunteti pe Windows, puteti folosi <strong><a title="WinSCP" href="http://winscp.net/eng/index.php" target="_blank">WinSCP</a></strong>, care la mine pe Windows se afla langa Putty <img src='http://alexj.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  . De mentioat ca viteza la scp e mult mai mica ca la FTP sau HTTP, dar eu zic ca e un sistem foarte bun de transfer.</p>
<p>Daca nu ne place command line-ul (I can&#8217;t imagine how can anyone not like CLI, but anyway&#8230;) avem optiunea de <strong>VNC</strong>, ceea ce ne-ar permite sa vedem exact ce este afisat pe monitorul masinii remote. VNC-ul il folosesc mai mult cand trebuie sa controlez o masina Windows. Ca server VNC pe Windows, prefer <strong><a title="RealVNC" href="http://www.realvnc.com/" target="_blank">RealVNC</a></strong> versiunea free. E bine ca e free, dar nu ofera o securitate la fel de buna ca cea Pro (pe care o puteti incerca ca trial) si sincer am avut niste probleme de securitate (solutia a fost sa schimb porturile pe care asculta si/sau sa restrictionez accesul doar la anumite hosturi/retele). Un lucru pe care il ofera RealVNC si pe care multi nu o prea folosec este clientul VNC Java. Asta inseamna ca daca nu am un client pe calculator, il pot accesa de pe HTTP la adresa serverului VNC doar pe alt port. Ca si client putem folosi tot RealVNC (Client) sau, de multe ori prefer <strong><a title="TightVNC" href="http://www.tightvnc.com/" target="_blank">TightVNC </a></strong>(care are si optiunea de server) din acelasi motiv pe care folosesc Putty &#8211; pentru ca gasesc pe siteul lor o aplicatie mica standalone pe care doar o downloadez si rulez. De asemenea putem folosi VNC ca mijloc de prezentare in clase (cum facem noi la Academia Cisco) <img src='http://alexj.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  .</p>
<p>Asemanator cu VNC avem (dar doar pe Windows) <strong>Remote Desktop Connection</strong>. Nu prea il folosesc (dar uneori este mai eficient ca VNC, deoarece spre deosebire de acesta, care face screenshot-uri la desktop, Remote Desktop Connection se bazeaza pe actiunile capturate de catre sistemul de operare). Dar pentru ca e integrat in Windows, it has it&#8217;s drawbacks.</p>
<p>Trecand la mijloace mai avansate de administare, va prezint <strong><a title="Webmin" href="http://www.webmin.com/" target="_blank">Webmin</a></strong>. Este un tool extrem de puternic, care m-a impresinat de cand l-am vazut. Functioneaza doar pe Linux (well..Unix clones). Se bazeaza pe o interfata Web (are un Apache in spate) accesibila prin orice browser. Ofera informatii despre sistem, si se pot face orice taskuri administrative (adaugat/sters user, listat/oprit procese, deschis servere, configurare firewall&#8230;ANYTHING). Si daca pachetul de baza nu face ce va trebuie, se pot adauga module care sa faca respectiva functie. It&#8217;s a great piece of sofware.</p>
<p>Motivul pentru care nu prea folosesc webmin este 1) pentru ca imi place command line-ul, ergo basic ssh, 2) Linux box-ul meu de acasa ruleaza SuSe. Si ce imi place mie la SuSe este <strong>YaST </strong>(yet another system tool). YaST este un fel de control panel, de unde se poate administra tot sistemul. Este accesibil din interfata grafica, DAR exista si o versiune de textmode. Acest lucru il face mai puternic, deoarece, odata ce am acces ssh la masina, pot accesa YaST-ul din command line si pot face tot ce as putea local. I love it.</p>
<p>Trecand de la PC-uri la alte echipamente, mai vreau vreau sa vorbesc despre accesul remote la routerele Cisco. Dupa cum orice CCNAist stie, routerele Cisco se pot accesa prin telnet sau, daca sunt configuare cum ar trebui, prin ssh. De obicei exista si optiunea de admintrare prin server HTTP.  Un tool mai avansat este <strong>SDM</strong>-ul. Unele routere au fisierele pentru SDM in memoria flash, permitand accesul doar printr-un browser (cu Java Runtime Enviroment). Daca nu, SDM-ul poate fi un soft local pe PC cu care se poate conecta la router.</p>
<p>Sunt multe tool-uri care ar face aceste lucruri&#8230;acestea sunt cateva folosite de mine si care poate va ajuta si pe voi.</p>
<p>Have fun <img src='http://alexj.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/10/26/guide-to-remote-admin-tools/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Linux-Windows Dual boot: worst case scenario</title>
		<link>http://alexj.info/2008/09/15/linux-windows-dual-boot-worst-case-scenario/</link>
		<comments>http://alexj.info/2008/09/15/linux-windows-dual-boot-worst-case-scenario/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 12:42:47 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[Geek Stuff]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[dualboot]]></category>
		<category><![CDATA[GRUB]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MBR]]></category>
		<category><![CDATA[NTLOADER]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=294</guid>
		<description><![CDATA[Problema de dual boot este ceva destul de intalnit in ultima vreme. Vrei sa tii si Linux si Windows (sau orice alt sistem de operare) pe aceeasi masina. Se rezova foarte usor prin instalarea mai intai a Windows-ului si apoi a distributiei de Linux care vine cu GRUB (care se instaleaza frumos si automat in [...]]]></description>
			<content:encoded><![CDATA[<p>Problema de dual boot este ceva destul de intalnit in ultima vreme. Vrei sa tii si Linux si Windows (sau orice alt sistem de operare) pe aceeasi masina. Se rezova foarte usor prin instalarea mai intai a Windows-ului si apoi a distributiei de Linux care vine cu <strong>GRUB</strong> (care se instaleaza frumos si automat in <strong>MBR</strong>-ul harddisk-ului). GRUB se impaca foarte bine cu orice sistem de operare si merge totul ok. Mici probleme apar ca vrei sa instalezi din nou Windows care rescrie cu nesimtire automat MBR-ul (deci atentie aici).</p>
<p>Care este scenariul in cazul meu. Am un laptop HP care vine cu o configuratie destul de stricta a HDD-ului: am o partitie de backup unde este stocat kit-ul pentru sistemul de operare (Windows Vista custom made for HP) cu care a venit laptopul. Accesul la acea partitie se face printr-un bootloader special aflat by default in MBR. Deci eu nu ma pot atinge de MBR. Si stiu ca sunt mai multe tipuri de laptopuri care vin cu sisteme asemanatoare (cum sunt cele de la Dell care au un OS special pentru media). Solutia in acest caz este cea mai rar intalnita bootare de Linux: folosind <strong>NTLOADER</strong> (bootloaderul ce incarca kernelul de Windows).</p>
<p>Prima conditie pentru scenariu este fie instalat mai intai Linux si apoi Windows, fie (in cazul meu) mai intai Windows si apoi Linux DAR la instalarea Linux-ului sa NU se instaleze GRUB in MBR (GRUBul trebuie instalat pe primul sector al partitiei Linux&#8230; distribuitia ar trebui sa permita acest lucru ).</p>
<p>Pasul urmator este copierea primului sector de pe partitia de Linux (primii 512bytes) intr-un fisier binar ce va fi stocat pe partitia de Windows in C:\ . Acest lucru se face cu utilitarul <strong>dd </strong>(disk duplicate). Puteti face asta pe Linux si mutati fisierul in Windows (distributiile Linux vin cu dd) sau varianta folosita de mine e varianta de <a title="win dd" href="http://uranus.it.swin.edu.au/~jn/linux/rawwrite/dd.htm" target="_blank">Windows a dd</a>.</p>
<blockquote><p>In Linux:</p>
<p><strong>dd if=/dev/hda2 of=linux.boot bs=512 count=1</strong></p>
<p>(unde hda2 este partitia de linux)</p>
<p>Fisierul linux.boot va trebui sa fie copiat pe C:\</p>
<p>In Windows trebuie sa identificati partitia cu <strong>dd &#8211;list </strong>, apoi copierea se face cu</p>
<p><strong>dd if=\\?\Device\HarddiskVolume2 of=linux.boot bs=512 count=1</strong></p>
<p>(unde \\?\Device\HarddiskVolume2 este partitia descoperita cu dd &#8211;list)</p></blockquote>
<p>Urmeaza configurarea NTLOADER pentru a adauga intrarea de linux in meniul sau. In Windows XP/2000 se editeaza fisierul <strong>C:\boot.ini<em> </em></strong>si se adauga linia <strong>C:\linux.boot=&#8221;My Linux</strong>&#8221; . In Windows Vista au ales sa se complice lucrurile cu utilitarul <strong>bcdedit. </strong>Prima data trebuie adaugata o intrare (folsind linia de comanda din Windows)  in bootloader cu</p>
<blockquote><p><strong>bcdedit /create /d &#8220;My Linux&#8221; /application BOOTSECTOR</strong></p></blockquote>
<p>Acesta comanda va returna un ID sub forma &#8220;{ID}&#8221;. Acest ID il folositi in urmatoarele comenzi:</p>
<blockquote><p><strong>bcdedit /set {ID} device boot<br />
bcdedit /set {ID} PATH \LINUX.BOOT<br />
bcdedit /displayorder {ID} /addlast<br />
bcdedit /timeout 5</strong></p>
<p>unde {ID} este idul returnat la prima comanda.</p></blockquote>
<p>Rezultatul va fi o noua optiune de bootare a kernelului Linux din NTLOADER.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/09/15/linux-windows-dual-boot-worst-case-scenario/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>XMPP Howto</title>
		<link>http://alexj.info/2008/09/09/xmpp-howto/</link>
		<comments>http://alexj.info/2008/09/09/xmpp-howto/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 11:29:44 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[gabber]]></category>
		<category><![CDATA[Instant messaging]]></category>
		<category><![CDATA[Jabber]]></category>
		<category><![CDATA[jabberd]]></category>
		<category><![CDATA[Openfire]]></category>
		<category><![CDATA[Pidgin]]></category>
		<category><![CDATA[SamePlace]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[XMPP]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=255</guid>
		<description><![CDATA[Partea a doua a discutiei despre XMMP este un tutorial despre cum putem pune in practica sistemul. La fel ca o infrastuctura de VoIP avem nevoie de unul sau mai multe servere interconectate si mai multi clienti care se conecteaza la unul din servere (dupa o autentificare).
Pagina de la care am pornit a fost Jabber.org. [...]]]></description>
			<content:encoded><![CDATA[<p>Partea a doua <a title="part1" href="/?p=246" target="_blank">a discutiei</a> despre <strong>XMMP</strong> este un tutorial despre cum putem pune in practica sistemul. La fel ca o infrastuctura de VoIP avem nevoie de unul sau mai multe servere interconectate si mai multi clienti care se conecteaza la unul din servere (dupa o autentificare).</p>
<p>Pagina de la care am pornit a fost <a title="Jabber.org" href="http://www.jabber.org/" target="_blank">Jabber.org</a>. Acolo am gasit o lista de soft-uri pentru servere si clienti XMPP/Jabber. Primul server pe care l-am incercat a fost <strong>jabberd</strong>. Instalarea nu a fost grea, dar managementul serverului era practic inexistent. La celelalte soft-uri am avut probleme cu gasirea bibliotecilor necesare. Serverul la care am ramas a fost <strong>Openfire</strong>. Motivul alegerii a fost in principal interfata de administrare foarte bine pusa la punct. Downside-ul este ca necesita Java Runtime Enviroment pentru a rula, dar upside-ul, serverul poate rula pe Linux, MacOS, Windows sau orice alt sistem de operare. Am ales sa fac o instalare a serverului pe Linux (Debian).</p>
<p>Topologia este formata dintr-o masina virtuala (in VMware Workstation) continand un <strong>Debian GNU/Linux </strong>avand adresa IP <strong>192.168.150.128</strong> si o masina gazda (Windows) cu adresa <strong>192.168.150.1</strong>.</p>
<p>Pe Linux instalam <a title="Openfire" href="http://www.igniterealtime.org/projects/openfire/index.jsp" target="_blank">Openfire</a>. JRE trebuie instalat mai intai (<strong>apt-get install sun-java5-jre</strong>). Dupa, instalam pachetul (fie din surse prin compilare, fie prin package manager) din fisierele disponibile <a title="files" href="http://www.igniterealtime.org/downloads/index.jsp" target="_blank">aici</a>. Din fisierul .deb, instalam cu <strong>dpkg -i <span class="ignite_download_item_details">openfire_3.6.0a_all.deb</span></strong><span class="ignite_download_item_details">. </span><span class="ignite_download_item_details">O instalare pe Windows din executabil ar duce la acelasi rezutlat. Din acest punct, totul se face printr-o <strong>interfata web</strong></span><span class="ignite_download_item_details"> accesibila printr-un browser pe portul 9090 <strong>http://192.168.150.128:9090/</strong> fiind independenta de platforma. Prima accesare duce la un wizard. Optiunile de baza de date sunt multiple, dar cel mai simplu e sa folosim engineul din openfire </span><span class="ignite_download_item_details">HSQLDB (</span><span class="ignite_download_item_details">Embedded Database). Dupa crearea contului de admin, putem sa ne logam in interfata de mangement. Creem cativa useri pentru test.</span></p>
<p><a href="http://alexj.info/wp-content/uploads/2008/09/openfire.jpg"><img class="aligncenter size-full wp-image-258" title="openfire" src="http://alexj.info/wp-content/uploads/2008/09/openfire.jpg" alt="" width="500" height="283" /></a></p>
<p>Pentru clienti vom folosi mai multe programe: <strong>gabber</strong> pentru Linux-Gnome <strong>Pidgin</strong> (fostul Gaim) pentru Windows (desi se folosete in principal pe Linux) si for fun, <strong>SamePlace</strong>, un add-on pentru Firefox.</p>
<p>gabber il instalam cu <strong>apt-get install gabber</strong> . Desi interfata este destul de primitiva, e suficienta pentru ce avem nevoie. Ne logam pe server cu unul din conturile create.<a href="http://alexj.info/wp-content/uploads/2008/09/gabber.jpg"><img class="aligncenter size-full wp-image-260" title="gabber" src="http://alexj.info/wp-content/uploads/2008/09/gabber.jpg" alt="" width="500" height="486" /></a></p>
<p>Pentru Pidgin, downloadam kit-ul de pe <a title="Pidgin" href="http://www.pidgin.im/" target="_blank">http://www.pidgin.im/</a>.  Pidgin suporta mai multe protocoale (YM, AIM, ICQ&#8230;). Adaugam un cont pe protocolul XMPP (aka Jabber). <a href="http://alexj.info/wp-content/uploads/2008/09/pidgin.jpg"><img class="aligncenter size-full wp-image-261" title="pidgin" src="http://alexj.info/wp-content/uploads/2008/09/pidgin.jpg" alt="" width="500" height="318" /></a></p>
<p>Pentru add-on-ul din Firefox trebuie sa instalam mai intai <strong>xmpp4moz</strong> peste care instalam <strong>SamePlace. </strong>Din meniul de optiune de add-ons, la SamePlace configuram un nou cont Jabber.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/09/sameplace.jpg"><img class="aligncenter size-full wp-image-262" title="sameplace" src="http://alexj.info/wp-content/uploads/2008/09/sameplace.jpg" alt="" width="500" height="383" /></a></p>
<p>Din interfata de administrare a Openfire putem trimite un mesaj de sistem tuturor clientilor conectati pentru a testa ca totul merge bine.</p>
<p><img src="file:///C:/Users/ALEXJ~1.ALE/AppData/Local/Temp/moz-screenshot.jpg" alt="" /><a href="http://alexj.info/wp-content/uploads/2008/09/openfire_mass.jpg"><img class="aligncenter size-full wp-image-263" title="openfire_mass" src="http://alexj.info/wp-content/uploads/2008/09/openfire_mass.jpg" alt="" width="500" height="285" /></a></p>
<p>Si ca un rezultat final, doua conversatii: pidgin-gabber si pidgin-sameplace (putin cam incurcata imaginea avand in considerare ca una din masini e virtuala si unul din clienti este in Firefox) :</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/09/xmpp_all.jpg"><img class="aligncenter size-full wp-image-266" title="xmpp_all" src="http://alexj.info/wp-content/uploads/2008/09/xmpp_all.jpg" alt="" width="500" height="292" /></a></p>
<p>Sper ca a fost informativ.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/09/09/xmpp-howto/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Home Routers: Dynagen tips &amp; tricks</title>
		<link>http://alexj.info/2008/09/05/home-routers-dynagen-tips-tricks/</link>
		<comments>http://alexj.info/2008/09/05/home-routers-dynagen-tips-tricks/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:31:17 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Cisco Networking Academy]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[dynagen]]></category>
		<category><![CDATA[dynagen.ini]]></category>
		<category><![CDATA[dynamips]]></category>
		<category><![CDATA[IdlePC]]></category>
		<category><![CDATA[Putty]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=104</guid>
		<description><![CDATA[Continuare la introul despre Dynagen si Dynamips, as vrea sa prezint niste feature-uri din acestea.
Accesul la routerele emulate se face prin telnet. By default, clinetul este telnet-ul din Windows sau Linux (care in cazul Windows sucks&#8230;parerea mea&#8230;si asta daca el este instalat, a se vedea Vista). Eu prefer sa folosesc Putty in loc de orice [...]]]></description>
			<content:encoded><![CDATA[<p>Continuare la <a title="intro" href="?p=80" target="_self">introul despre Dynagen si Dynamips</a>, as vrea sa prezint niste feature-uri din acestea.<br />
Accesul la routerele emulate se face prin telnet. By default, clinetul este telnet-ul din Windows sau Linux (care in cazul Windows sucks&#8230;parerea mea&#8230;si asta daca el este instalat, a se vedea Vista). Eu prefer sa folosesc <strong>Putty</strong> in loc de orice telnet. Programul cu care se face accesul se poate modifica, foarte usor. Din fisierul <strong>dynagen.ini</strong> din directorul radacina al Dynagen comentati linia cu telnet (cu un # in fata liniei) si decomentati-o pe cea cu Putty de exemplu (verificati ca path-ul sa fie corect spre executabil).</p>
<p>Un element important in Dynamips este <strong>IdlePC</strong>-ul. Acesta este o valoarea numerica, on cod care optimizeaza procesul de rulzare a IOS-ului, micsorand semnificativ consumul de procesor.</p>
<p>Rularea unei topologii in Dynagen se face prin deschiderea fisierelor <strong>.net</strong> (unde este descrisa topologia). Se deschide o interfata command line de unde se pot porni routerele ( <strong>start ROUTER_ NAME</strong> ), accesa routerele (<strong>telnet ROUTER_NAME</strong>) si se pot gasi si valorile IdlePC ce pot optimiza ruterele ce ruleaza pe sistem (<strong>idlepc get ROUTER_NAME</strong>). Vor returna pana la 10 valori, unele mai performante, alte nu. Aplicati una din ele. Exista totusi posibilitatea ca dynamips-ul sa dea eroare si sa pice.</p>
<p>Singurul lucru care m-a impresionat cu adevarat la dynagen este faptul ca pot face interactiunea intre routerul emulat si interfetele fizice de pe masina gazda.</p>
<p>Un fisier .net arata astfel:</p>
<p>[[ROUTER R1]]</p>
<p>f0/0 = R2 f0/0</p>
<p>[[ROUTER R2]]</p>
<p>f0/0 = R1 f0/0</p>
<p>Pe scrut, interfata_locala = echipament_vecin interfata_ecipament_vecin.</p>
<p>Putem face legatura cu o interfata fizica printr-o linie <strong>interfata_locala = cale_interfata</strong>. Acesta cale poate fi aflata scriptul <strong>Network device list </strong>(este un .bat in Windows sau un bash script in Linux). Dynagen-ul va presupune ca interfata routerului si interfata fizica a calculatorului gazda sunt conectate la un switch virtual. Tot ce trebuie sa faceti e sa puneti IP-uri din aceeasi retea si aveti legatura.</p>
<p>Iata o topologie simpla. Un router &#8216;conectat&#8217; la un PC.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/dynaget_windows.jpg"><img class="aligncenter size-full wp-image-113" title="dynaget_windows" src="http://alexj.info/wp-content/uploads/2008/08/dynaget_windows.jpg" alt="" width="500" height="344" /></a></p>
<p>Routerul are adresa 192.168.238.2 si calculatorul 192.168.238.1. Ping succesfull <img src='http://alexj.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/09/05/home-routers-dynagen-tips-tricks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMware tips: network interfaces</title>
		<link>http://alexj.info/2008/08/30/vmware-tips-network-interfaces/</link>
		<comments>http://alexj.info/2008/08/30/vmware-tips-network-interfaces/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 17:39:44 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[microsoft loopback]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[network interface]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=171</guid>
		<description><![CDATA[VMware este un soft foarte util pentru un student la calculatoare si in general pentru cineva care vrea sa descopere lumea sistemelor de operare. Ca pasionat de retelistica, mi-a placut in mod special optiunile de interactiune cu reteaua. By default, VMware (Workstation) ofera doua conexiuni cu sistemul de operare gazda: bridged sau NAT (aceste conexiuni [...]]]></description>
			<content:encoded><![CDATA[<p><strong>VMware</strong> este un soft foarte util pentru un student la calculatoare si in general pentru cineva care vrea sa descopere lumea sistemelor de operare. Ca pasionat de retelistica, mi-a placut in mod special optiunile de interactiune cu reteaua. By default, VMware (Workstation) ofera doua conexiuni cu sistemul de operare gazda: bridged sau NAT (aceste conexiuni se gasesc ca si conexiunile vmnet1 si vmnet8). Bridged inseamna ca si interfata virtuala de retea a sistemului emulat si interfata fizica a sistemului gazda sunt in aceesi retea, acelasi broadcast domain (conectate printr-un switch virtual). NAT inseamna ca sunt retele separate, OS-ul virtual iesind spre Internet prin NAT adica prin masina gazda.</p>
<p>Partea interesanta este ca, cu niste advanced settings, puteti avea mai multe retele in combinatii foarte complexe. Cea mai interesanta topologie pe care am facut-o a fost o simulare a unei retele corporate impartite in 3 branch office si un central office cu un total de 10 masini virtuale (6 clienti si 4 servere emulate in VMware) conectate prin 3 routere Cisco (emulate in Dynamips) cu infrastructura convergenta si ruland o solutie VoIP pe deasupra ei,  toate sub o masina Windows (cu procesorul dual-core si memoria tipand de durere, but doable none the less).</p>
<p>Primul pas este este adaugarea unei interfete noi in sistemul gazda. In Windows facem asta ca si cum am adauga un dispozitiv nou. Din <strong>Control Panel</strong> -&gt; <strong>Add Hardware</strong>, alegeti optiunea de <strong>adaugare manuala (Advanced).</strong> Din lista de tipuri de dispozitive, alegeti <strong>Network Adapter</strong>. De aici vom adauga un &#8220;<strong>Microsoft Loopback Adapter</strong>&#8221; (cu <strong>Microsoft </strong>ca Manufacturer).  Conexiunea va aparea in Network Connections.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/loop.jpg"><img class="aligncenter size-full wp-image-173" title="loop" src="http://alexj.info/wp-content/uploads/2008/08/loop.jpg" alt="" width="500" height="383" /></a></p>
<p>Din <strong>VMware Worksation</strong>, puteti adauga interfata din meniul <strong>Edit</strong> -&gt; <strong>Virtual Network Settings&#8230; </strong>Interfata din Windows trebuie asociata cu una din cele 9 interfete virtuale din VMware. Trebuie setata si reteaua de IP-uri ce corespunde interfetei. Dupa ce faceti asocierea, puteti folosi interfetele virtuale in masinile virtuale. De asemnea puteti deschide servicii cum ar fi DHCP sau NAT.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/vmware.jpg"><img class="aligncenter size-full wp-image-174" title="vmware" src="http://alexj.info/wp-content/uploads/2008/08/vmware.jpg" alt="" width="500" height="402" /></a></p>
<p>Am vrut sa fac introducerea asta ca suport la alte HOWTO-uri ce vor avea nevoie de un astfel de setup.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/08/30/vmware-tips-network-interfaces/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GMail &amp; HTTPS</title>
		<link>http://alexj.info/2008/08/24/g/</link>
		<comments>http://alexj.info/2008/08/24/g/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 14:11:24 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Computer Science Dept.]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Link-uri]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[GMail]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Slashdot]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=192</guid>
		<description><![CDATA[Din newsletterul cel de toate ziele de la Slashdot (sau cel putin din zilele cand mai apuc sa il citesc&#8230;) am gasit o stire interesanta. Btw, Slashdot este un site de stiri din lumea tehnica (motto-ul site-ului cred ce zice tot   &#8220;Slashdot: News for nerds, stuff that matters&#8221; ). Este un loc bun [...]]]></description>
			<content:encoded><![CDATA[<p>Din newsletterul cel de toate ziele de la <strong><a title="Slashdot" href="http://slashdot.org/" target="_blank">Slashdot</a></strong> (sau cel putin din zilele cand mai apuc sa il citesc&#8230;) am gasit o stire interesanta. Btw, Slashdot este un site de stiri din lumea tehnica (motto-ul site-ului cred ce zice tot <img src='http://alexj.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  &#8220;Slashdot: News for nerds, stuff that matters&#8221; ). Este un loc bun pentru cei ce vor sa fie up to date cu ce se intampla in lumea IT (eu sunt abonat la newsletter si primesc email dimineata la prima ora pe care il citesc de obicei inainte sa plec la facultate).</p>
<p><a title="stirea" href="http://it.slashdot.org/article.pl?sid=08/08/19/1433206" target="_blank">Stirea respectiva </a>vorbea despre un tool de hacking care poate sparge conturile de GMail. Putin speriat de inceputul stirii, dar noroc ca in aceeasi stire prezinta si noul feature de la Google impotriva la asaceva: folosirea HTTPS permanent. Daca nu ati observat, by default, HTTP Secure se foloseste doar la login, dupa, pentru navigare in interfata de webmail este HTTP chior.  Am gasit acest lucru foarte ciudat de la inceput si as fi vrut sa existe sesiunea permanenta pe HTTPS (nu zic ca ar fi total sigura, dar m-as simti mai bine).</p>
<p>Ideea ca aceasta noua optiune trebuie activata manual.  Optiunea se afla in <strong>Settings</strong> -&gt; <strong>General</strong> -&gt; <span class="jwjW1c"><strong>Browser connection</strong>: si trebuie setata pe <strong>Always use https </strong></span></p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/gmail_ssl.jpg"><img class="aligncenter size-full wp-image-189" title="gmail_ssl" src="http://alexj.info/wp-content/uploads/2008/08/gmail_ssl.jpg" alt="" width="500" height="127" /></a></p>
<p>Recomand sa o activati ca nu strica <img src='http://alexj.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/08/24/g/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Home Routers: GNS3/dynagen/dynamips Intro</title>
		<link>http://alexj.info/2008/08/20/home-routers-gns3dynagendynamips-intro/</link>
		<comments>http://alexj.info/2008/08/20/home-routers-gns3dynagendynamips-intro/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 22:27:06 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Cisco Networking Academy]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[.bin]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[dynagen]]></category>
		<category><![CDATA[dynamips]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[GNS3]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=80</guid>
		<description><![CDATA[Daca vreti sa va jucati cu un router Cisco si nu aveti acces la un echipament adevarat, aveti nevoie de un soft care sa va ofere aceleasi functii ca the real deal. Am mai mentionat Packet Tracer, un tool oferit de Cisco cu multe functii oferite (cel putin de la versiunea 4 in sus). Imi [...]]]></description>
			<content:encoded><![CDATA[<p>Daca vreti sa va jucati cu un router Cisco si nu aveti acces la un echipament adevarat, aveti nevoie de un soft care sa va ofere aceleasi functii ca the real deal. Am mai mentionat Packet Tracer, un tool oferit de Cisco cu multe functii oferite (cel putin de la versiunea 4 in sus). Imi place foarte mult sa il folosesc si il recomand. Dar Packet Tracer este un <span style="text-decoration: underline;">simulator</span>. Aceasta inseamna ca doar simuleaza ce ar trebui sa faca adevaratul router. In spate sunt doar niste if-uri si else-uri si in functie de ce comanda este introdusa si anumiti parametrii se returneaza un output.</p>
<p>O alta varianta ar fi un <strong>emulator</strong>. Diferenta este ca in loc sa simuleze ce ar face codul <strong>IOS</strong>-ului (sistemul de operare al routerelor Cisco), el chiar ruleaza codul doar ca nu pe platforma routerului (Power PC) ci pe o platforma de PC (i386).  Un astfel de soft este <a title="Dynamips" href="http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator" target="_blank"><strong>Dynamips</strong></a>, care ruleaza IOS-ul pe un PC sub forma unui daemon (serviciu), accesibil prin telnet pe un port pe localhost. Pentru a crea o retea de astfel de routere avem nevoie de un al doilea program care sa le lege. Aici intervine <a title="Dynagen" href="http://dynagen.org/" target="_blank"><strong>Dynagen</strong></a>. Acesta controleaza instante de dynamips in functie de setarile fisierului <strong>.net </strong>unde se mentioneaza routerele si felul in care sunt conectate (prin interfete Ethernet/ Seriale, switch virtual sau nor de Frame Relay).</p>
<p>Dar interfata dynagen este foarte user unfriendly (command line care mai ales in Windows e..well..Windows). Aici intervine <strong><a title="GNS3" href="http://www.gns3.net/" target="_blank">GNS3</a></strong>. Este o interfata grafica care ruleaza deasupra lui dynagen si dynamips si este la fel de usor de folosit ca Packet Tracer. Puteti downloada installerul de Windows complet cu toate pachetele necesare (inclusiv dynamips si WinPCAP- pachetul ce captureaza pachetele pe pe interfete) de <a title="aici" href="http://downloads.sourceforge.net/gns-3/GNS3-0.5-win32-all-in-one.exe?download" target="_blank">aici</a>.</p>
<p>Dupa instalare, la prima rulare a GNS3 trebuie specificata calea catre executabilul dynamips (ar trebui sa fie detectat automat) si, mai important, calea catre un IOS. <strong>Atentie! </strong>Dynamips este doar emulatorul, programul de baza PESTE care ar rula un IOS. Asta inseamna ca de sistemul de operare al routerului trebuie sa faceti rost voi (Cisco IOS este un sistem de operare proprietar si closed-source&#8230; trebuie sa aveti drep de folosire al lui). IOS-ul vine sub forma unui fisier .<strong>bin</strong>, cu o dimensiunea de 10-50MB in functie de capabilitatile versiunii respective. Trebuie sa asociati modele de routere din GNS3 cu anumite sisteme de operare.</p>
<p>Designul unei topologii este foarte usor. All drag&#8217;n'drop. Adaugati echipamente din meniul din stanga si le conectati cu cablurile respective.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/gns3_top.jpg"><img class="aligncenter size-full wp-image-87" title="gns3_top" src="http://alexj.info/wp-content/uploads/2008/08/gns3_top.jpg" alt="" width="500" height="333" /></a></p>
<p>(Don&#8217;t mind the quality of the images&#8230;all done in MSPaint <img src='http://alexj.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  )</p>
<p>Pasul urmator este sa porniti routerele&#8230;</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/gns3_start.jpg"><img class="aligncenter size-full wp-image-88" title="gns3_start" src="http://alexj.info/wp-content/uploads/2008/08/gns3_start.jpg" alt="" width="500" height="322" /></a></p>
<p>Dupa pornire, puteti sa accesati routerele prin Telnel. Din acelasi meniu ca si Start aveti Console. Rezultatul:</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/gns3_console.jpg"><img class="aligncenter size-full wp-image-89" title="gns3_console" src="http://alexj.info/wp-content/uploads/2008/08/gns3_console.jpg" alt="" width="500" height="317" /></a></p>
<p>Si asta ar fi GNS3 in 10 minute. Recunosc ca sistemul nu e chiar usor pentru un incepator, dar de multe ori merita.</p>
<p><strong>Pros and Cons</strong>: Proul este ca e un emulator si nu un simulator, deci permite cea mai realistica simulare a unui router. Cons-urile sunt mai multe: in primul rand mananca o cantitate imensa de resurse (RAM si CPU). In al doilea rand, trebuie sa procurati IOS-ul (ceea ce nu e usor). Si de simulat, nu putem emula decat routere si PIX-uri (cu ceva munca am inteles ca se poate emula si un Switch Layer3).</p>
<p>Am zis ca o introducere in acest sistem este necesara deoarece as dori sa revin cu alte exemple de lucruri ce pot fi facute cu aceste tooluri.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/08/20/home-routers-gns3dynagendynamips-intro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Packet Tracer5: Multilayer Switches &amp; EtherChannel</title>
		<link>http://alexj.info/2008/08/17/packet-tracer5-multilayer-switches-etherchannel/</link>
		<comments>http://alexj.info/2008/08/17/packet-tracer5-multilayer-switches-etherchannel/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 10:47:36 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[Cisco Networking Academy]]></category>
		<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[channel-group]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[EtherChannel]]></category>
		<category><![CDATA[interface range]]></category>
		<category><![CDATA[LACP]]></category>
		<category><![CDATA[MLS]]></category>
		<category><![CDATA[Multilaye Switch]]></category>
		<category><![CDATA[Packet Tracer]]></category>
		<category><![CDATA[Packet Tracer 5.0]]></category>
		<category><![CDATA[PAgP]]></category>
		<category><![CDATA[STP]]></category>
		<category><![CDATA[topologie]]></category>
		<category><![CDATA[topology]]></category>
		<category><![CDATA[trunk]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=141</guid>
		<description><![CDATA[Avand in considerare ca recent s-a scos versiunea 5.0 a simulatorului Packet Tracer, as vrea sa fac un lab pe ceva nou din acesta versiune: Multilayer Switch (aka MLS) si EtherChannel. Avand in considerare ca Packet Tracer (PT) este userfriendly si foarte intuitiv nu cred ca are rost sa explic cum se foloseste (daca aveti [...]]]></description>
			<content:encoded><![CDATA[<p>Avand in considerare ca recent s-a scos versiunea 5.0 a simulatorului Packet Tracer, as vrea sa fac un lab pe ceva nou din acesta versiune: Multilayer Switch (aka MLS) si EtherChannel. Avand in considerare ca Packet Tracer (PT) este userfriendly si foarte intuitiv nu cred ca are rost sa explic cum se foloseste (daca aveti totusi nevoie, incercati tutorialele care vin cu el).<br />
Ce este <strong>EtherChannel</strong>? Este o tehnologie care permite gruparea mai multor legaturi fizice intre doua echipamente ca o singura legatura logica. Adica daca avem, de exemplu 4 porturi de 100Mb intre doua switch-uri, putem face o legatura echivalenta de 400Mb. De ce am avea nevoie de asaceva, adica de ce nu putem doar lasa cele 4 cabluri singure si sa zicem ca avem lagatura de 400Mb? Remember STP, the Spanning Tree Protocol. Daca nu am avea acest EtherChannel, 3 din cele 4 porturi ar fi blocate pentru a preveni blucle de layer 2.<br />
<strong>Topologia:</strong> 2 Switch-uri Multilayer (3560-25PS) si 4 hosturi. la fiecare switch sunt conectate cate doua hosturi pe VLAN-uri diferite (vlan 10 si 20 sa zicem). Intre switchuri, conectam 4 cabluri pe FastEthernet pentru a face un trunk (unul singur, nu patru).<br />
<a href="http://alexj.info/wp-content/uploads/2008/08/top.jpg"><img class="aligncenter size-full wp-image-142" title="top" src="http://alexj.info/wp-content/uploads/2008/08/top.jpg" alt="" width="500" height="470" /></a>Puteti observa din imagine ca 3 linii au ledul portocaliu, asta inseamna ca porturile sunt blocate de catre STP (liniile sunt default de tip access).<br />
Pentru a configura un EtherChannel, trebuie sa grupam mai multe interfete intr-un <strong>channel-group</strong>. Facem asta intrand pe fiecare interfata si dand comanda <strong>channel-group GROUP_NUMBER mode MOD</strong> (exista mai multe moduri in care putem seta grupul, depinzand de cele doua protocoale care se folosesc la un EtherChannel, <strong>PAgP</strong> si <strong>LACP</strong>, de care nu as vrea sa discut aici&#8230;vom alege <strong>mode on</strong> pentru a ridica EtherChannel-ul).<br />
Tip: Recomand folosirea comenzii <strong>interface range</strong> care permite configuarea unui grup intreg de interfete cu aceleasi comenzi. Ex &#8220;int range f0/1 &#8211; 3&#8243; va aplica comenzile ca vor urma pentru f0/0, f0/1 si f0/2. Atentie la spatiile de langa &#8220;-&#8221; deoarece unele versiuni de IOS sunt sensibile la ele.<br />
<strong>Configuare:</strong></p>
<p><strong></strong><br />
<strong>Sw1# configure terminal<br />
Sw1(config)# interface range f0/10 &#8211; 13<br />
Sw1(config-if-range)#channel-group 5 mode on<br />
</strong><br />
Va va aparea mesajul<br />
<strong>%LINEPROTO-5-UPDOWN: Line protocol on Interface Port-channel 5, changed state to up</strong><br />
Aceasta este interfata logica creata, pe care vom faca de acum incolo configurarile ca pe un port normal. Numarul interfetei <strong>Port-channel</strong> este numarul grupului. Facem acelasi lucru pe switch-ul celalalt. Acolo putem folosi de exemplui channel-group 6, numarul avand doar semnificatie locala.<br />
Pentru a configura EtherChannel-ul ca trunk, intram pe interfata logica.</p>
<p><strong>Sw1(config)# interface Port-channel 5<br />
Sw1(config-if)#switchport mode trunk<br />
</strong></p>
<p>Trebuie sa asociem porturile pentru hosturi cu vlanurile respective (cu comenzile <strong>switchport mode access </strong>respectiv <strong>switchport access vlan <em>vlanx</em></strong> pe interfete f0/1 si f0/2). Tip: Pentru ca stim ca pe respetivele porturi avem conectate doar hosturi, putem sa le setam cu <strong>PortFast</strong> pentru a dezactiva STP-ul pe el (<strong>spanning-tree portfast</strong> pe interfata).<br />
Hadeti acum sa exploram beneficiile de a avea un <strong>MLS</strong>. Daca aveam switchuri normale, pentru routarea inter-vlan avem nevoie de un router si o topoligie router-on-a-stick (unde aveam un router, conectat la un switch printr-un trunk si cu ajutorul subinterfeteleor bagam routerul in toate VLANurile si stia el sa se ocupe de routare). Un MLS poate poate face routare inter-vlan prin doua moduri: prin routed ports sau prin SVI-uri. Vom discuta doar despre <strong>SVI </strong>(<strong>Switch Virtual Interface</strong>). Ele sunt niste interfete virtuale carora le putem asocia o adresa IP si un VLAN. Sunt asemnatoare cu interfetele de management de pe switch-urile layer 2 dar ca nu sunt limitate la una per switch, ci exista una per VLAN. Switchul multilayer va stii sa routeze intre VLANurile care au create pe switch un SVI. SVI-urie vor fi default gateway-urile pentru hosturi. Un SVI se creaza astfel:</p>
<p><strong>Sw1(config)# interface Vlan10</strong></p>
<p><strong>Sw1(config-if)#ip address 10.0.0.1 255.255.255.0</strong></p>
<p><strong>Sw1(config-if)#no shutdown</strong></p>
<p>Trebuie sa setam cate un SVI pentru fiecare VLAN (si vom face asta pe un singur switch deoarece doar pe unul trebuie sa facem routarea). Pentru ca rotuarea sa functioneze trebuie activata (daca nu este deja)</p>
<p><strong>Sw1(config)# ip routing</strong></p>
<p>Si pentru a arata cat de destept este un MLS, mai activam un serviciu gasit pe un router: DHCP. Facem doua pool-uri pentru cele doua VLAN-uri (la fel, vom folosi un singur un singur switch ca server).</p>
<p><strong>Sw1(config)# ip dhcp pool vlan_pool_10</strong></p>
<p><strong>Sw1(dhcp-config)# network 10.0.0.0 255.255.255.0</strong></p>
<p><strong>Sw1(dhcp-config)# default-router 10.0.0.1</strong></p>
<p>Si iata o topologie facuta doar cu Switch-uri Multilayer.</p>
<p>Puteti gasi fisierul Packet Tracer <a href="http://alexj.info/wp-content/uploads/2008/08/howto_mls_etherchannel2.pkt">aici.</a></p>
<p>Sper ca a fost informativ.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/08/17/packet-tracer5-multilayer-switches-etherchannel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalare openSER</title>
		<link>http://alexj.info/2008/08/13/instalare-openser/</link>
		<comments>http://alexj.info/2008/08/13/instalare-openser/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 21:23:42 +0000</pubDate>
		<dc:creator>AlexJ</dc:creator>
				<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[openSER]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://alexj.info/?p=25</guid>
		<description><![CDATA[

Voi incerca sa fac un scurt tutorial despre openSER.
Ce este openSER? Evoluat din SER (SIP Express Rotuer), openSER ste un server SIP (Session Initiation Protocol) open-source. Daca nu stiti despre SIP (protocolul de semnalizare), inseamna ca ar mai trebui sa invatati cate ceva despre VoIP inainte de a citi acest tutorial.
Echipamente:
Vom face totul software. Intregul [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://alexj.info/wp-content/uploads/2008/08/1_machines.jpg"><br />
</a></p>
<p>Voi incerca sa fac un scurt tutorial despre <strong>openSER</strong>.</p>
<p>Ce este openSER? Evoluat din SER (SIP Express Rotuer), openSER ste un server SIP (Session Initiation Protocol) open-source. Daca nu stiti despre SIP (protocolul de semnalizare), inseamna ca ar mai trebui sa invatati cate ceva despre VoIP inainte de a citi acest tutorial.</p>
<p><strong>Echipamente:</strong></p>
<p>Vom face totul software. Intregul sistem va fi rulat pe o singura masina fizica, serverul fiind intr-o masina virtuala in <strong>VMWare Player</strong>. Masina gazda este un <strong>Windows Vista </strong>iar cea virtuala un <strong>GNU/Linux Debian 4.0r4</strong>. Cele doua sisteme sunt conectate printr-o retea virtuala 192.168.75.0/24.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/1_machines.jpg"><img class="aligncenter size-full wp-image-27" title="1_machines" src="http://alexj.info/wp-content/uploads/2008/08/1_machines.jpg" alt="" width="500" height="287" /></a></p>
<p><strong>Instalare openSER</strong></p>
<p>Toata instalarea se va face cu drepturi de <strong>root</strong>!</p>
<p>Vom folosi Aptitude din Debian pentru instalare. Pentru aceasta, trebuie sa avem in lista de repositories un server unde sa se afle pachetele openSER (ex. http://ftp.de.debian.org/debian/<a href="http://ftp.iasi.roedu.net/mirrors/ubuntulinux.org/ubuntu/pool/universe/o/openser/openser_1.1.1-1_i386.deb"></a> ). Adaugati in <strong>/etc/apt/sources.list </strong>linia<strong> </strong>&#8220;deb http://ftp.de.debian.org/debian sid main&#8221;.</p>
<p>Mai scurt, puteti folosi   <strong># echo &#8220;deb http://ftp.de.debian.org/debian sid main</strong><strong>&#8221; &gt;&gt;/etc/apt/sources.list</strong></p>
<p>Dupa adaugarea repo-ului, trebuie updatata baza de date<strong> # apt-get update</strong></p>
<p>Putem vizualiza pachetele openSER disponibile cu comanda <strong># apt-cache search openser</strong></p>
<p>Vom instala pachetul &#8216;openser&#8217; <strong># apt-get install openser</strong></p>
<p>Asteptati instalarea. Veti primi un mesaj ca inainte de a porni seviciul, trebuie editat <strong>/etc/default/openser</strong> . In acest fisier, modificati linia &#8220;RUN_OPENSER = no &#8221; in &#8220;<strong>RUN_OPENSER = yes</strong>&#8220;.<a href="http://alexj.info/wp-content/uploads/2008/08/2_default_openser.jpg"><img class="aligncenter size-full wp-image-30" title="2_default_openser" src="http://alexj.info/wp-content/uploads/2008/08/2_default_openser.jpg" alt="" width="500" height="347" /></a></p>
<p>Serviciul este pornit din init.d<strong> #/etc/init.d/openser start</strong></p>
<p>Va aparea un mesaj cu deschiderea serviciului pe portul <strong>5060 </strong>TCP si UDP pe interfetele active. Puteti verifica acest lucru prin <strong>#netstart -ntl </strong>pt TCP (respectiv <strong>-nul </strong>pt UDP).</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/3_start.jpg"><img class="aligncenter size-full wp-image-31" title="3_start" src="http://alexj.info/wp-content/uploads/2008/08/3_start.jpg" alt="" width="500" height="351" /></a></p>
<p><strong>Instalare Clienti</strong></p>
<p>Ca si client SIP de Windows vom folosi <a title="X-Lite" href="http://www.counterpath.com/x-lite.html" target="_blank">X-Lite</a> (versiunea free). Get it <a title="here" href="http://storage.counterpath.com/downloads/X-Lite_Win32_1011s_41150.exe?platform=win32&amp;product=xlite" target="_blank">here</a>.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/4_xlite.jpg"><img class="aligncenter size-full wp-image-36" title="4_xlite" src="http://alexj.info/wp-content/uploads/2008/08/4_xlite.jpg" alt="" width="324" height="474" /></a></p>
<p>Pentru a adauga un cont SIP, dati click dreapta pe ecran si pe <strong>SIP Account Settings</strong>.  ATENTIE! In acest moment, la serverul SIP <strong>se poate loga oricine si cu orice user</strong>!!! Completam campul User Name cu un user (poate fi un numar. De obicei se creaza un Alias la nivel de server intre user(e) si numar(numere) de telefon ). Domeniul este serverul SIP. In cazul nostru este adresa IP a serverului Linux.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/5_xlitesetup.jpg"><img class="aligncenter size-full wp-image-37" title="5_xlitesetup" src="http://alexj.info/wp-content/uploads/2008/08/5_xlitesetup.jpg" alt="" width="500" height="449" /></a></p>
<p>Pe masina de Linux vom instala o a doua aplicatie: <strong>KPhone</strong>. Pentru a instala programul, folositi <strong># apt-get install kphone</strong> . Desi nu arata la fel de bine ca Xlite, it does the job. Adaugam si aici un cont.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/6_kphonesetup.jpg"><img class="aligncenter size-full wp-image-39" title="6_kphonesetup" src="http://alexj.info/wp-content/uploads/2008/08/6_kphonesetup.jpg" alt="" width="500" height="372" /></a></p>
<p>Si in final testam tot sistemul.</p>
<p><a href="http://alexj.info/wp-content/uploads/2008/08/7_final.jpg"><img class="aligncenter size-full wp-image-40" title="7_final" src="http://alexj.info/wp-content/uploads/2008/08/7_final.jpg" alt="" width="500" height="278" /></a></p>
<p>What do you know&#8230;it works <img src='http://alexj.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Deci, daca nu va place voice chat-ul de la Skype, Yahoo Messenger sau GTalk, acum puteti sa va faceti propria retea VoIP. Voi reveni pe viitor cu o configurare de baza de date mySQL pentru useri ce se pot loga pe baza de parola.</p>
<p>De mentionat ca eu am folosit versiunea 1.3 al openSER, dar la momentul scrierii acestui articol se scosese deja versiunea 1.4, dar pe care nu am apucat sa o testez. In other news, openSER si-a schimbat, odata cu versiunea si numele. Se numeste acum <strong><a title="openSIPS" href="http://www.opensips.org/" target="_blank">openSIPS</a></strong> (e atat de nou incat o cautare pe Google la &#8216;opensips&#8217; returneaza &#8220;Did you mean &#8216;opensims&#8217; &#8221; <img src='http://alexj.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ).  Si bonus news: openSIPS a facut un parteneriat cu <a title="Yate" href="http://yate.null.ro" target="_blank">Yate</a> (Yet Another Telephony Engine) probabil pt a face o concurenta mai buna cu <a title="Asterisk" href="http://www.asterisk.org/" target="_blank">Asterisk</a>.</p>
<p>Sper ca a fost informativ.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexj.info/2008/08/13/instalare-openser/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
