<?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>GNS3</title>
	<atom:link href="http://blog.gns3.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gns3.net</link>
	<description>Technical Blog</description>
	<lastBuildDate>Wed, 22 Dec 2010 11:47:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Translation HOWTO</title>
		<link>http://blog.gns3.net/2010/12/translation-howto/</link>
		<comments>http://blog.gns3.net/2010/12/translation-howto/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 20:45:06 +0000</pubDate>
		<dc:creator>Jeremy Grossmann</dc:creator>
				<category><![CDATA[GNS3]]></category>

		<guid isPermaLink="false">http://blog.gns3.net/?p=249</guid>
		<description><![CDATA[GNS3 makes use of the very powerful Qt framework for its graphical interface and translation management system. This is why you need to download an application called Qt Linguist in order to make a Qt compatible translation. Qt Linguist is available on several operating systems: Qt Linguist on Microsoft Windows On Windows you could download [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">GNS3 makes use of the very powerful <a href="http://en.wikipedia.org/wiki/Qt_%28framework%29" target="_blank">Qt framework</a> for its graphical interface and translation management system. This is why you need to download an application called Qt Linguist in order to make a Qt compatible translation. Qt Linguist is available on several operating systems:</p>
<p style="text-align: justify;"><span id="more-249"></span></p>
<h4>Qt Linguist on Microsoft Windows</h4>
<p>On Windows you could download the <a href="http://qt.nokia.com/downloads" target="_blank">complete Qt SDK</a> but more than 300 MB is maybe a bit too heavy just for making a translation. This is why we provide a <a href="http://sourceforge.net/projects/gns-3/files/GNS3/Translations/Qt Linguist for Windows.zip/download" target="_blank">standalone version of Qt Linguist</a> (about 7 MB).</p>
<h4>Qt Linguist Mac OS X</h4>
<p>Download the <a href="http://qt.nokia.com/downloads">Qt SDK</a> or a <a href="http://code.google.com/p/qtlinguistdownload/" target="_blank">standalone version</a>.</p>
<h4>Qt Linguist on Linux (Debian/Ubuntu)</h4>
<p>Install the Qt4 development tools to get Qt Linguist (e.g. sudo apt-get install libqt4-dev qt4-dev-tools)</p>
<h3>Creating a new translation</h3>
<p>GNS3 has not been translated into your language (please check on the <a href="http://gns3.net/team" target="_blank">Team page</a><em>)</em>, then this section is for you.</p>
<p style="text-align: justify;">First download the <a href="http://code.gns3.net/gns3-devel/raw-file/tip/src/GNS3/Langs/Lang_en.ts" target="_blank">latest skeleton translation source</a> (based on English) and open it with Qt Linguist.</p>
<p style="text-align: justify;">Then set your language and optionally your country under “Translation File Settings” available from the Edit menu.</p>
<p style="text-align: justify;">Finally, save the translation source as Lang_CODE.ts where CODE is replaced by the language and country codes.</p>
<p style="text-align: justify;">The language code is a two-letter code (ISO 639-1) that you can find <a href="http://en.wikipedia.org/wiki/ISO_639-1_language_matrix" target="_blank">here</a>.</p>
<p style="text-align: justify;">A country code only needs to be specified if the translation is only for  one country&#8217;s dialect of a language that is not the default dialect.  The country codes are specified in <a rel="nofollow" href="http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html" target="_blank">ISO 3166-1</a>. For instance Brazilian Portuguese language and country codes gives pt_br to replace CODE, for Portuguese in Portugal only the language code is required (pt).</p>
<p style="text-align: justify;">Other examples:</p>
<ul>
<li> French language for France: Lang_fr.ts</li>
<li> French language for Canada: Lang_fr_ca.ts</li>
<li> Serbian language for Serbia and Montenegro: Lang_sr.ts</li>
<li> Ukrainian language for Ukraine: Lang_uk.ts</li>
</ul>
<p>At this point you are ready to start translating, go to the translating section.</p>
<h3>Updating an existing translation</h3>
<p>To update an existing translation, you need to download the latest translation source (TS file) corresponding to your language. This file can been found on GNS3 code repository by using the following link with CODE replaced by the language/country code. Current codes can be found on the <a href="http://gns3.net/team" target="_blank">Team page</a><em>.</em></p>
<p><a title="http://code.gns3.net/gns3-devel/raw-file/tip/src/GNS3/Langs/Lang_CODE.ts" href="http://code.gns3.net/gns3-devel/raw-file/tip/src/GNS3/Langs/Lang_CODE.ts">http://code.gns3.net/gns3-devel/raw-file/tip/src/GNS3/Langs/Lang_CODE.ts</a></p>
<h3>Translating</h3>
<p>If you wish to learn how to use Qt linguist, please read this <a href="http://doc.trolltech.com/4.7/linguist-translators.html" target="_blank">One Minute guide</a>. Other than that translating strings should be very intuitive.</p>
<p>Note: the “English” string in the MainWindow context must be translated into your language name like you spell it in your language because it is displayed in GNS3 Preferences. For instance for the French translation, this string is translated to &#8220;Français&#8221;.</p>
<h4>Translating Qt strings</h4>
<p style="text-align: justify;">In order to have GNS3 completely translated (the context menu and &#8220;Cancel&#8221; buttons and so on) you need a qt_xx.ts file for your language. These files translate all visible widgets of Qt into your language.</p>
<p style="text-align: justify;">Qt provides them for many languages and they can be found in Qt packages.  After extracting the archive the folder &#8220;translations&#8221; contains many  files including qt_xx.ts. If you are lucky the file for your language is  there too and you can copy it and put it into the right folder (see  below or in the instructions that come with the translation for your  language). If you don&#8217;t want to download a Qt package, here is the content of the translations directory as of Qt 4.7.1:</p>
<p><a href="http://blog.gns3.net/wp-content/uploads/2010/12/qt_translations.png"><img class="size-full wp-image-251 alignnone" title="qt_translations" src="http://blog.gns3.net/wp-content/uploads/2010/12/qt_translations.png" alt="" width="342" height="310" /></a></p>
<p style="text-align: justify;">If there is no such a file available for your language you  unfortunately have to create one if you want to have a complete  translation of GNS3. In that case take the blank <a href="http://sourceforge.net/projects/gns-3/files/GNS3/Translations/qt_untranslated.ts/download" target="_blank">qt_untranslated.ts</a> file,  open it with Qt Linguist and translate it. You do not have to translate every string, only the following Qt classes used in GNS3:</p>
<p style="text-align: left;">QAbstractSpinBox,  QApplication, QCheckBox, QComboBox, QDialog, QDialogButtonBox,  QDockWidget, QFileDialog, QLineEdit, QMenu, QMenuBar, QMessageBox,  QProgressDialog, QPushButton, QScrollBar, QSpinBox, QToolButton.</p>
<p style="text-align: justify;">However if you are in a good mood and want to translate everything then I think the Qt guys could be interested in it.</p>
<p style="text-align: justify;">Just for your curiosity, here is what <a href="http://developer.qt.nokia.com/faq/answer/does_qt_provide_translations_for_the_user_visible_strings_of_the_widgets" target="_blank">you need to do</a> if you want to generate qt_untranslated.ts yourself.</p>
<h3 style="text-align: justify;">Compile and test your translation</h3>
<p style="text-align: justify;">After the translation, use File -&gt; Release As option in Qt Linguist, this  will create a .qm file, which is the compiled file containing the  translation. *.qm files cannot be modified anymore so it is very  important to hand out the .ts file(s), as well. You can also compiled your qt_xx.ts containing Qt string translation in the same way if needed.</p>
<p>Qt compiled translation file(s) should be put under the Langs directory:</p>
<ul>
<li>On Windows: C:\Program Files\gns3\Langs\Lang_CODE.qm</li>
<li>On Linux or MacOS: ~/.gns3/Langs/Lang_CODE.qm</li>
</ul>
<p style="text-align: justify;">Start GNS3, go to Edit -&gt; Preferences menu and select your language. If everything is ok, send us your translation sources by email (gns3dev at users.sourceforge.net) they will released with the next language pack or GNS3 version.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gns3.net/2010/12/translation-howto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multicast Lab</title>
		<link>http://blog.gns3.net/2010/11/multicast-lab/</link>
		<comments>http://blog.gns3.net/2010/11/multicast-lab/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 15:01:35 +0000</pubDate>
		<dc:creator>Jeremy Grossmann</dc:creator>
				<category><![CDATA[GNS3]]></category>

		<guid isPermaLink="false">http://blog.gns3.net/?p=226</guid>
		<description><![CDATA[Here is a small multicast lab with one source in Qemu, one router and one receiver (VLC). This lab has been tested on Windows XP and can easily be adapted to make bigger multicast labs or to run on other operating systems. You need GNS3 installed with an IOS c3640 image recorded and VLC. Start [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Here is a small multicast lab with one source in Qemu, one router and one receiver (VLC). This lab has been tested on Windows XP and can easily be adapted to make bigger multicast labs or to run on other operating systems. You need GNS3 installed with an IOS c3640 image recorded and VLC.</p>
<p style="text-align: justify;">Start by <a href="http://downloads.sourceforge.net/gns-3/Multicast.zip?download" target="_blank">downloading the lab</a> (about 75 MB) and unzip it.</p>
<p style="text-align: justify;"><span id="more-226"></span></p>
<h3>Add a loopback interface</h3>
<p>Create a loopback interface in order to communicate with your PC from GNS3.</p>
<ol>
<li style="text-align: left;">Create new network connection, use &#8220;add hardware&#8221; menu on the Control Panel to do this.</li>
<li style="text-align: left;">Let the add hardware wizard runs its course and click on “Yes , I have connected the hardware”.</li>
<li style="text-align: left;">Scroll to the bottom of the list and choose &#8220;add a new hardware device&#8221;.</li>
<li style="text-align: left;">Install the hardware manually.</li>
<li style="text-align: left;">Select Network Adaptor.</li>
<li style="text-align: left;">Select Microsoft and choose MS Loopback Adaptor and finish installation.</li>
<li style="text-align: left;">Under &#8220;Network Connections&#8221;, a new icon is created besides the usual network cards.</li>
<li style="text-align: left;">Rename this Loopback &#8211; GNS3.</li>
<li style="text-align: left;">Configure the PC loopback interface with an IP address: 100.100.100.2, netmask: 255.555.255.0 and gateway: 100.100.100.1</li>
<li style="text-align: left;">Reboot.</li>
</ol>
<p><a href="http://blog.gns3.net/wp-content/uploads/2010/11/Multicast_Lab_loopback.jpg"><img class="size-full wp-image-228 alignnone" title="Multicast_Lab_loopback" src="http://blog.gns3.net/wp-content/uploads/2010/11/Multicast_Lab_loopback.jpg" alt="" width="672" height="420" /></a></p>
<h3>Fix the topology file to add your loopback</h3>
<p>In Windows:  Start -&gt; All      Programs -&gt; GNS3, click on Network device list. You should see something      similar to this:</p>
<p>NIO_gen_eth:\Device\NPF_{FD2911D5-CAC7-4382-813B-4E4997876429}<br />
Name      : Loopback &#8211; GNS3<br />
Desciption: MS LoopBack Driver</p>
<p>Edit Multicast.net with Notepad and replace <em>nio_gen_eth:\device\npf_{03211acb-57e8-4c85-8dd4-f367c6024bfc}</em> by the one previously found ( i.e  <em>NIO_gen_eth:\Device\NPF_{FD2911D5-CAC7-4382-813B-4E4997876429}</em>), then save the file.</p>
<h3>Add multicast routes</h3>
<ol>
<li style="text-align: justify;">In cmd.exe, remove any current      multicast route with the following command: <em>route delete 224.0.0.0 mask 240.0.0.0</em> (the route may still shows up when typing <em>route print</em>, if this is the case you can ignore it).</li>
<li style="text-align: justify;">Add a multicast route to the      virtual router: <em>route add 224.0.0.0 mask 240.0.0.0 100.100.100.1</em></li>
<li style="text-align: justify;">Add a route to the virtual host      network (multicast source) via the virtual router: <em>route add 192.168.100.0      mask 255.255.255.0 100.100.100.1</em></li>
</ol>
<h3>Start the multicast lab</h3>
<ol>
<li style="text-align: justify;">Launch GNS3 and load Multicast.net</li>
<li style="text-align: justify;">Start all devices and wait for them to be fully started.</li>
<li style="text-align: justify;">In cmd.exe, ping 100.100.100.1      (virtual router). Do the same for 192.168.100.1 (Qemu virtual host).</li>
<li style="text-align: justify;">On the Qemu virtual host. Start      Aterm and type “sh start.sh” in the console. This will start VLC which      multicast a video stream to 224.1.1.1. You can select to loop the video,      so you won’t have to restart it.</li>
</ol>
<p><a href="http://blog.gns3.net/wp-content/uploads/2010/11/Multicast_Lab_GNS3.png"><img class="size-full wp-image-229  alignnone" title="Multicast_Lab_GNS3" src="http://blog.gns3.net/wp-content/uploads/2010/11/Multicast_Lab_GNS3.png" alt="" width="707" height="404" /></a></p>
<p style="text-align: left;"><a href="../wp-content/uploads/2010/11/Multicast_Lab_qemu.png"><img class="size-full wp-image-230 alignnone" title="Multicast_Lab_qemu" src="../wp-content/uploads/2010/11/Multicast_Lab_qemu.png" alt="" width="522" height="401" /></a></p>
<p style="text-align: left;">
<h3>Test with VLC</h3>
<ol>
<li style="text-align: justify;">Now test that you receive the      multicast steam with VLC on your PC.</li>
<li style="text-align: justify;">In VLC, go to Media -&gt; Open      Stream Network, type udp://@224.1.1.1:1234 in the network URL box, then      click on Play. VLC will then send an IGMP request to the virtual router      saying it wants to receive the 224.1.1.1 multicast stream. After a few      seconds you should see the video!</li>
</ol>
<p><a href="http://blog.gns3.net/wp-content/uploads/2010/11/Multicast_Lab_vlc.png"><img class="size-full wp-image-231 alignnone" title="Multicast_Lab_vlc" src="http://blog.gns3.net/wp-content/uploads/2010/11/Multicast_Lab_vlc.png" alt="" width="425" height="411" /></a></p>
<h3>Debugging</h3>
<p style="text-align: justify;">To check that VLC sends IGMP request you can use Wireshark to capture traffic on the Loopback adapter. Alternatively you can issue “en” to go to enable mode and then “debug ip igmp 224.1.1.1” in the router console.</p>
<p style="text-align: justify;">You should see something like this if the router receives IGMP request. Here v2 means that IGMP version 2 is used. 100.100.100.2 is the loopback adapter (your PC).</p>
<pre>Received v2 Report on FastEthernet0/1 from 100.100.100.2 for 224.1.1.1
WAVL Insert group: 224.1.1.1 interface: FastEthernet0/1 Successful
Switching to EXCLUDE mode for 224.1.1.1 on FastEthernet0/1
Updating EXCLUDE group timer for 224.1.1.1
MRT Add/Update FastEthernet0/1 for (*,224.1.1.1) by 0
IGMP(0): Send v2 general Query on FastEthernet0/1
IGMP(0): Received v2 Report on FastEthernet0/1 from 100.100.100.2 for 224.1.1.1
IGMP(0): Received Group record for group 224.1.1.1, mode 2 from 100.100.100.2 for 0 sources</pre>
<p style="text-align: left;">
<p style="text-align: left;">A clearer way but less detailed way to check if the virtual router has received an IGMP request is to use this command:</p>
<pre>R1# show ip igmp groups</pre>
<p><a href="http://blog.gns3.net/wp-content/uploads/2010/11/Multicast_Lab_console.png"><img class="size-full wp-image-227 alignnone" title="Multicast_Lab_console" src="http://blog.gns3.net/wp-content/uploads/2010/11/Multicast_Lab_console.png" alt="" width="722" height="339" /></a></p>
<p style="text-align: left;">This means that the request is recorded on the router:</p>
<pre>Group Address    Interface                Uptime    Expires   Last Reporter   Group Accounted
224.1.1.1        FastEthernet0/1          00:05:14  00:02:17  100.100.100.2</pre>
<p style="text-align: left;">
<p style="text-align: left;">If the router receives an IGMP request for 224.1.1.1 on FastEthernet0/1 then it will know it must forward the steam to FastEthernet0/1. You can check this with the following command:</p>
<pre>R1# show ip mroute</pre>
<p>You should see something like this:</p>
<pre>(192.168.100.1, 224.1.1.1), 00:02:49/00:02:50, flags: T
Incoming interface: FastEthernet0/0, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/1, Forward/Sparse-Dense, 00:00:32/00:00:00</pre>
<p style="text-align: justify;">
<p style="text-align: justify;">It means a 224.1.1.1 multicast stream is being received from 192.168.100.1. Look at outgoing interface list, if FastEthernet0/1 is present then the router is forwarding the multicast stream to that interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gns3.net/2010/11/multicast-lab/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making a DMG package</title>
		<link>http://blog.gns3.net/2010/06/making-a-dmg-package/</link>
		<comments>http://blog.gns3.net/2010/06/making-a-dmg-package/#comments</comments>
		<pubDate>Mon, 31 May 2010 14:03:29 +0000</pubDate>
		<dc:creator>Jeremy Grossmann</dc:creator>
				<category><![CDATA[GNS3]]></category>

		<guid isPermaLink="false">http://blog.gns3.net/?p=205</guid>
		<description><![CDATA[This step-by-step procedure will show you how to make a DMG package from the GNS3 source code. I&#8217;ve built the package on Mac OS X Snow Leopard and used Py2app to make a Mac OS X application. Also, have a look at this article that really helped me. This procedure worked for me, please let [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">This step-by-step procedure will show you how to make a DMG package from the GNS3 source code. I&#8217;ve built the package on Mac OS X Snow Leopard and used Py2app to make a Mac OS X application. Also, have a look at <a href="http://www.hardcoded.net/articles/building-64-bit-pyobjc-applications-with-py2app.htm" target="_blank">this article</a> that really helped me.</p>
<p style="text-align: justify;">This procedure worked for me, please let me know if you encounter any issue and I&#8217;ll update it. Also, please tell me if you can make it work on Mac OS X Leopard (10.5.x).</p>
<p><span id="more-205"></span></p>
<h1>Setting up Python</h1>
<p>First, install zlib library:</p>
<div>
<div>

<div class="wp_codebox"><table width="100%" ><tr id="p20510"><td class="code" id="p205code10"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>zlib.net<span style="color: #000000; font-weight: bold;">/</span>zlib-1.2.5.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> xzf zlib-1.2.5.tar.gz
<span style="color: #7a0874; font-weight: bold;">cd</span> zlib-1.2.5
.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--64</span>
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #7a0874; font-weight: bold;">test</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

</div>
</div>
<p>Compile and install the latest version of python:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p20511"><td class="code" id="p205code11"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.python.org<span style="color: #000000; font-weight: bold;">/</span>ftp<span style="color: #000000; font-weight: bold;">/</span>python<span style="color: #000000; font-weight: bold;">/</span>2.6.5<span style="color: #000000; font-weight: bold;">/</span>Python-2.6.5.tar.bz2
<span style="color: #c20cb9; font-weight: bold;">tar</span> xvjf Python-2.6.5.tar.bz2
<span style="color: #7a0874; font-weight: bold;">cd</span> Python-2.6.5
.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--with-universal-archs</span>=intel <span style="color: #660033;">--enable-universalsdk</span>=<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #660033;">--enable-shared</span>
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #7a0874; font-weight: bold;">test</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<h1>Setting up Qt and PyQt</h1>
<p>Install Qt libraries:</p>
<p>To limit the DMG size, I compiled a minimum of components.</p>

<div class="wp_codebox"><table width="100%" ><tr id="p20512"><td class="code" id="p205code12"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>get.qt.nokia.com<span style="color: #000000; font-weight: bold;">/</span>qt<span style="color: #000000; font-weight: bold;">/</span>source<span style="color: #000000; font-weight: bold;">/</span>qt-everywhere-opensource-src-4.6.2.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> xvzf qt-everywhere-opensource-src-4.6.2.tar.gz
<span style="color: #7a0874; font-weight: bold;">cd</span> qt-everywhere-opensource-src-4.6.2
.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">-arch</span> x86_64 <span style="color: #660033;">-cocoa</span> <span style="color: #660033;">-no-dbus</span> <span style="color: #660033;">-no-cups</span> <span style="color: #660033;">-no-nis</span> <span style="color: #660033;">-no-openssl</span> <span style="color: #660033;">-no-scripttools</span> <span style="color: #660033;">-no-libtiff</span> <span style="color: #660033;">-no-libmng</span> <span style="color: #660033;">-no-script</span> <span style="color: #660033;">-no-javascript-jit</span> <span style="color: #660033;">-no-webkit</span> <span style="color: #660033;">-no-phonon-backend</span> <span style="color: #660033;">-no-phonon</span> <span style="color: #660033;">-no-audio-backend</span> <span style="color: #660033;">-no-multimedia</span> <span style="color: #660033;">-no-xmlpatterns</span> -no-qt3support  <span style="color: #660033;">-no-accessibility</span> <span style="color: #660033;">-opensource</span> -no-dwarf2  -qt-libpng  <span style="color: #660033;">-qt-libjpeg</span> <span style="color: #660033;">-no-multimedia</span> <span style="color: #660033;">-no-mediaservices</span>
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<p>Install sip:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p20513"><td class="code" id="p205code13"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> xvzf sip-4.10.2.tar.gz
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.riverbankcomputing.co.uk<span style="color: #000000; font-weight: bold;">/</span>static<span style="color: #000000; font-weight: bold;">/</span>Downloads<span style="color: #000000; font-weight: bold;">/</span>sip4<span style="color: #000000; font-weight: bold;">/</span>sip-4.10.2.tar.gz
python configure.py
<span style="color: #7a0874; font-weight: bold;">cd</span> sip-4.10.2
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<p>Install PyQt:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p20514"><td class="code" id="p205code14"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.riverbankcomputing.co.uk<span style="color: #000000; font-weight: bold;">/</span>static<span style="color: #000000; font-weight: bold;">/</span>Downloads<span style="color: #000000; font-weight: bold;">/</span>PyQt4<span style="color: #000000; font-weight: bold;">/</span>PyQt-mac-gpl-4.7.3.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> xvzf PyQt-mac-gpl-4.7.3.tar.gz
<span style="color: #7a0874; font-weight: bold;">cd</span> PyQt-mac-gpl-4.7.3
python configure.py <span style="color: #660033;">-q</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>Trolltech<span style="color: #000000; font-weight: bold;">/</span>Qt-4.6.2<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>qmake
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<h1>Setting up Py2app</h1>
<p>Install setup tools:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p20515"><td class="code" id="p205code15"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>pypi.python.org<span style="color: #000000; font-weight: bold;">/</span>packages<span style="color: #000000; font-weight: bold;">/</span>2.6<span style="color: #000000; font-weight: bold;">/</span>s<span style="color: #000000; font-weight: bold;">/</span>setuptools<span style="color: #000000; font-weight: bold;">/</span>setuptools-0.6c11-py2.6.egg
<span style="color: #c20cb9; font-weight: bold;">mv</span> setuptools-0.6c11-py2.6.egg.sh setuptools-0.6c11-py2.6.egg
<span style="color: #c20cb9; font-weight: bold;">sh</span> setuptools-0.6c11-py2.6.egg</pre></td></tr></table></div>

<p>Install macholib:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p20516"><td class="code" id="p205code16"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> macholib
<span style="color: #7a0874; font-weight: bold;">cd</span> macholib
<span style="color: #c20cb9; font-weight: bold;">svn</span> <span style="color: #c20cb9; font-weight: bold;">co</span> http:<span style="color: #000000; font-weight: bold;">//</span>svn.pythonmac.org<span style="color: #000000; font-weight: bold;">/</span>macholib<span style="color: #000000; font-weight: bold;">/</span>macholib<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span> .
python setup.py <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<p>Install a patched version of py2app with 64-bit support:</p>
<p>You will need to install <a href="http://mercurial.berkwood.com/" target="_blank">mercurial</a> if you haven&#8217;t already.</p>

<div class="wp_codebox"><table width="100%" ><tr id="p20517"><td class="code" id="p205code17"><pre class="bash" style="font-family:monospace;">hg clone http:<span style="color: #000000; font-weight: bold;">//</span>hg.hardcoded.net<span style="color: #000000; font-weight: bold;">/</span>py2app
<span style="color: #7a0874; font-weight: bold;">cd</span> py2app
python setup.py <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<h1>Making the DMG package</h1>
<p>Now you can download the source and make the DMG. If you are interested in the details, have a look at setup.py where you can find every instruction to tell py2app how to make an Mac OS X application from GNS3.</p>

<div class="wp_codebox"><table width="100%" ><tr id="p20518"><td class="code" id="p205code18"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>code.gns3.net<span style="color: #000000; font-weight: bold;">/</span>gns3-devel<span style="color: #000000; font-weight: bold;">/</span>archive<span style="color: #000000; font-weight: bold;">/</span>tip.tar.bz2
<span style="color: #c20cb9; font-weight: bold;">tar</span> xvjf tip.tar.bz2
<span style="color: #7a0874; font-weight: bold;">cd</span> gns3-devel-xxx
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>downloads.sourceforge.net<span style="color: #000000; font-weight: bold;">/</span>gns-3<span style="color: #000000; font-weight: bold;">/</span>dynamips-0.2.8-RC2-OSX-Leopard.intel.bin?download
<span style="color: #c20cb9; font-weight: bold;">mv</span> gns3 gns3.py
python setup.py py2app</pre></td></tr></table></div>

<p>If everything work, you should find the DMG the the dist directory.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gns3.net/2010/06/making-a-dmg-package/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to run GNS3 on Mac OS X</title>
		<link>http://blog.gns3.net/2010/03/how-to-run-gns3-on-mac-os-x/</link>
		<comments>http://blog.gns3.net/2010/03/how-to-run-gns3-on-mac-os-x/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 00:48:40 +0000</pubDate>
		<dc:creator>Jeremy Grossmann</dc:creator>
				<category><![CDATA[GNS3]]></category>

		<guid isPermaLink="false">http://blog.gns3.net/?p=186</guid>
		<description><![CDATA[Here are instructions to run GNS3 from the sources (not the standalone compiled DMG version) on your favorite operating system. You will have to install or compile dependencies like Qt, Sip and PyQt. This will allow you to use the latest development version of GNS3 that you can download from http://code.gns3.net. Method 1 Install the [...]]]></description>
			<content:encoded><![CDATA[<p>Here are instructions to run GNS3 from the sources (not the standalone compiled DMG version) on your favorite operating system. You will have to install or compile dependencies like Qt, Sip and PyQt. This will allow you to use the latest development version of GNS3 that you can download from <a href="http://code.gns3.net">http://code.gns3.net</a>.</p>
<p><span id="more-186"></span></p>
<h2>Method 1</h2>
<ul>
<li>Install the Apple Devs Tools (on your Mac OS X DVD or download it on ADC account). Run and install XcodeTools.mpkg.</li>
</ul>
<ul>
<li><a href="http://www.python.org/download/ " target="_blank">Download Python 2.6 for MacOS X</a> and install it.</li>
</ul>
<ul>
<li><a href="http://qt.nokia.com/downloads" target="_blank">Download Qt librairies for Mac</a> and install them.</li>
</ul>
<ul>
<li><a href="http://www.riverbankcomputing.com/software/sip/download" target="_blank">Download SIP</a>, open a terminal and go in the folder where you downloaded the tar file and compile using the following commands (example for SIP 4.9.3):</li>
</ul>

<div class="wp_codebox"><table width="100%" ><tr id="p18623"><td class="code" id="p186code23"><pre class="bash" style="font-family:monospace;">Macintosh:$  <span style="color: #c20cb9; font-weight: bold;">tar</span> xvzf sip-4.9.3.tar.gz
Macintosh:$  <span style="color: #7a0874; font-weight: bold;">cd</span> sip-4.9.3
Macintosh:sip-4.9.3$  python configure.py
Macintosh:sip-4.9.3$  <span style="color: #c20cb9; font-weight: bold;">make</span>
Macintosh:sip-4.9.3$  <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<ul>
<li><a href="http://www.riverbankcomputing.com/software/pyqt/download" target="_blank">Download PyQt</a> and run the following commands to decompress and compile PyQt (example for PyQt 4.6.2):</li>
</ul>

<div class="wp_codebox"><table width="100%" ><tr id="p18624"><td class="code" id="p186code24"><pre class="bash" style="font-family:monospace;">Macintosh:$  <span style="color: #c20cb9; font-weight: bold;">tar</span> xvzf PyQt-mac-gpl-4.6.2.tar.gz
Macintosh:$  <span style="color: #7a0874; font-weight: bold;">cd</span> PyQt-mac-gpl-4.6.2
Macintosh:PyQt-mac-gpl-4.6.2$  python configure.py
Macintosh:PyQt-mac-gpl-4.6.2$  <span style="color: #c20cb9; font-weight: bold;">make</span>
Macintosh:PyQt-mac-gpl-4.6.2$  <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></td></tr></table></div>

<ul>
<li>Download GNS3 source from <a href="http://gns3.net/download">our website</a> or the <a href="http://code.gns3.net/hgwebdir.cgi/gns3-devel/archive/tip.tar.bz2" target="_blank">development version</a> and start the script named gns3.</li>
</ul>
<h2>Method 2</h2>
<p>This method can take a few hours as everything is compiled but this is the most flexible as you can switch between dependencie versions very easilly.</p>
<ul>
<li>Download and <a href="http://guide.macports.org/#installing" target="_blank">install MacPorts</a> (you will need the Apple Devs Tools).</li>
</ul>
<ul>
<li>Open a terminal and install GNS3 dependencies.</li>
</ul>

<div class="wp_codebox"><table width="100%" ><tr id="p18625"><td class="code" id="p186code25"><pre class="bash" style="font-family:monospace;">Macintosh:$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> python26
Macintosh:$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> python_select
Macintosh:$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> python_select python26
Macintosh:$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> py26-sip
Macintosh:$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> py26-pyqt4
Macintosh:$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> qt4-mac</pre></td></tr></table></div>

<ul>
<li>Download GNS3 source from <a href="http://gns3.net/download">our website</a> or the <a href="http://code.gns3.net/hgwebdir.cgi/gns3-devel/archive/tip.tar.bz2" target="_blank">development version</a> and start the script named gns3.</li>
</ul>
<h3>Notes about MacPorts</h3>
<p>Optionnaly, to prevent MacPorts to install the last version of the dependencies (which may not work properly with GNS3), you can force a specified version with @.</p>
<p>Example:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p18626"><td class="code" id="p186code26"><pre class="bash" style="font-family:monospace;">Macintosh:$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> py26-sip <span style="color: #000000; font-weight: bold;">@</span>4.9.3_0
Macintosh:$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> py26-pyqt4 <span style="color: #000000; font-weight: bold;">@</span>4.6.2_0
Macintosh:$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> port <span style="color: #c20cb9; font-weight: bold;">install</span> qt4-mac <span style="color: #000000; font-weight: bold;">@</span>4.5.3_0</pre></td></tr></table></div>

<p>Also, let say you have installed the latest version of Qt but this one doesn&#8217;t work very well with GNS3, you can revert back to your previous Qt version using the comand sudo port activate qt4-mac @version_number. This will automatically deactivate the current version of Qt and activate the one you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gns3.net/2010/03/how-to-run-gns3-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Using MRTG with GNS3</title>
		<link>http://blog.gns3.net/2010/02/using-mrtg-with-gns3-2/</link>
		<comments>http://blog.gns3.net/2010/02/using-mrtg-with-gns3-2/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 05:05:00 +0000</pubDate>
		<dc:creator>kaage</dc:creator>
				<category><![CDATA[GNS3]]></category>
		<category><![CDATA[MRTG]]></category>

		<guid isPermaLink="false">http://blog.gns3.net/?p=165</guid>
		<description><![CDATA[In this tutorial we&#8217;ll use MRTG program to get traffic statistics from emulated routers in GNS3. What is MRTG? MRTG is opensource program which gets traffic statistics from devices using SNMP and builds graphs like this: Installing MRTG Download MRTG from http://oss.oetiker.ch/mrtg/ and follow installing instructions to install MRTG Setup virtual topology In this case we [...]]]></description>
			<content:encoded><![CDATA[<p>In this tutorial we&#8217;ll use MRTG program to get traffic statistics from emulated routers in GNS3.</p>
<p><span id="more-165"></span></p>
<h2>What is MRTG?</h2>
<div>
<ul>
<li>MRTG is opensource program which gets traffic statistics from devices using SNMP and builds graphs like this:</li>
</ul>
</div>
<div><a href="http://blog.gns3.net/wp-content/uploads/2010/02/mrtg1.png"><img class="aligncenter size-full wp-image-176" src="http://blog.gns3.net/wp-content/uploads/2010/02/mrtg1.png" alt="" width="500" height="135" /></a></p>
<h2>Installing MRTG</h2>
<div>
<ul>
<li>Download MRTG from <a id="sppt" title="http://oss.oetiker.ch/mrtg/" href="http://oss.oetiker.ch/mrtg/">http://oss.oetiker.ch/mrtg/</a></li>
</ul>
<ul>
<li>and follow <a id="rz.h" title="installing instructions" href="http://oss.oetiker.ch/mrtg/doc/mrtg-nt-guide.en.html">installing instructions</a> to install MRTG</li>
</ul>
<h2>Setup virtual topology</h2>
<div>In this case we wan&#8217;t to make most simple example so we are using only one router:</div>
<div>
<ul>
<li><a href="http://blog.gns3.net/wp-content/uploads/2010/02/mrtg2.png"><img class="aligncenter size-full wp-image-177" src="http://blog.gns3.net/wp-content/uploads/2010/02/mrtg2.png" alt="" width="705" height="256" /></a> Install Ms loopback adapter to your Windows machine and configured IP-address 10.10.10.1/24 for it.</li>
</ul>
</div>
</div>
<div>
<ul>
<li>Configure router:</li>
</ul>
<blockquote>
<div><strong>hostname R0</strong></div>
<div>!</div>
<div>interface FastEthernet1/0</div>
<div><strong>ip address 10.10.10.2 255.255.255.0</strong></div>
<div>duplex auto</div>
<div>speed auto</div>
<div>!</div>
<div>!</div>
<div>!</div>
<div><strong>snmp-server community mycommunity RO</strong></div>
</blockquote>
<div>Verify that ping goes from your local computer to emulated router R0</div>
<div>
<h2>Configure and run MRTG</h2>
<div>
<ul>
<li>Follow MRTG guide: <a id="e-0." title="http://oss.oetiker.ch/mrtg/doc/mrtg-nt-guide.en.html" href="http://oss.oetiker.ch/mrtg/doc/mrtg-nt-guide.en.html">http://oss.oetiker.ch/mrtg/doc/mrtg-nt-guide.en.html</a></li>
</ul>
<ul>
<li>After you have configured MRTG with command:</li>
</ul>
<blockquote><p><span style="font-size: xx-small;"><strong>perl cfgmaker mycommunity@10.10.10.2 &#8211;global &#8220;WorkDir: c:\www\mrtg&#8221; &#8211;output mrtg.cfg</strong></span></p></blockquote>
</div>
<ul>
<li>Run MRTG with command:</li>
</ul>
<blockquote><p><strong><span style="font-size: xx-small;">perl mrtg mrtg.cfg</span></strong></p></blockquote>
<div style="text-align: left;">Every time when you run MRTG it will get data from the router and save it. You can run MRTG manually every 5 minutes or configure this to happen automatically. To do this follow MRTG <a id="jjcf" title="instructions" href="http://oss.oetiker.ch/mrtg/doc/mrtg-nt-guide.en.html">instructions</a>. When you have done this MRTG starts to build graph for you&#8230;.</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.gns3.net/2010/02/using-mrtg-with-gns3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to emulate Cisco ASA</title>
		<link>http://blog.gns3.net/2009/12/how-to-emulate-cisco-asa/</link>
		<comments>http://blog.gns3.net/2009/12/how-to-emulate-cisco-asa/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 10:00:52 +0000</pubDate>
		<dc:creator>Jeremy Grossmann</dc:creator>
				<category><![CDATA[ASA]]></category>

		<guid isPermaLink="false">http://blog.gns3.net/?p=141</guid>
		<description><![CDATA[In this article, I will show you how to emulate Cisco ASA using Qemu. Once again, please note that ASA is not provided and will not be. So please don’t ask. Also be aware that ASA does not 100% work in Qemu but that&#8217;s enough to play with it. This Howto is still a draft [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">In this article, I will show you how to emulate Cisco ASA using Qemu. Once again, please note that ASA is not provided and will not be. So please don’t ask. Also be aware that ASA does not 100% work in Qemu but that&#8217;s enough to play with it.</p>
<p><span style="color: #ff0000;">This Howto is still a draft and has been tested only on Linux.</span></p>
<p><span style="color: #ff0000;"><span id="more-141"></span><br />
</span></p>
<h1>Installation</h1>
<p style="text-align: justify;">First <a href="http://blog.gns3.net/2009/10/olive-juniper/2/" target="_blank">compile and patch Qemu</a> as you would do for running JunOS. This will give us pcap, lcap and UDP tunnels (i.e. GNS3/Dynamips connections) capabilities.</p>
<p style="text-align: justify;">Then obtain ASA itself. If you are smart and patient you will find it. I used asa802-k8.bin for my installations. As far as I know, nobody has been able to run ASA &gt; version 8.2 (ASA keeps rebooting).</p>
<p style="text-align: justify;">The next step is to get an initrd and a Linux kernel (inside the initrd) from your ASA image to use them with Qemu and also fix the initrd for our needs. The initrd is zipped and archived in the ASA image, we have to extract it.</p>
<p style="text-align: justify;">There are 2 ways, manually or using a tool I created.</p>
<h2 style="text-align: justify;">Manual method</h2>
<p style="text-align: left;">Create an hexadecimal dump of your image:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14141"><td class="code" id="p141code41"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span> asa802-k8.bin <span style="color: #000000; font-weight: bold;">&gt;</span> asa802-k8.hex</pre></td></tr></table></div>

<p>Search for the ZIP header:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14142"><td class="code" id="p141code42"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">grep</span> “1f 8b 08 00 1d” asa802-k8.hex
001228b0  1f 8b 08 00 1d 3d 73 46  00 03 ec 3a 6d 54 14 57  <span style="color: #000000; font-weight: bold;">|</span>…..=sF…:mT.W<span style="color: #000000; font-weight: bold;">|</span></pre></td></tr></table></div>

<p>We can see that the ZIP file starts at offset 1228b0.</p>
<p>Let&#8217;s find the image size:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14143"><td class="code" id="p141code43"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-la</span> asa802-k8.bin
-rwxr-xr-x  <span style="color: #000000;">1</span> root  staff  <span style="color: #000000;">14524416</span> <span style="color: #000000;">26</span> Nov <span style="color: #000000;">20</span>:<span style="color: #000000;">14</span> asa802-k8.bin
<span style="color: #000000;">14524416</span> bytes.</pre></td></tr></table></div>

<p>Now we need to find out where in the file we can start extracting the ZIP part.</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14144"><td class="code" id="p141code44"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;14524416 ; ibase=16 ; last - 1228B0&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">bc</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tail</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span>
<span style="color: #000000;">13334352</span></pre></td></tr></table></div>

<p>Extract the zipped part of the ASA image:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14145"><td class="code" id="p141code45"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tail</span> <span style="color: #660033;">-c</span> <span style="color: #000000;">13334352</span> asa802-k8.bin <span style="color: #000000; font-weight: bold;">&gt;</span> asa802-k8.gz</pre></td></tr></table></div>

<p>Decompress it with gzip:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14146"><td class="code" id="p141code46"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">gzip</span> <span style="color: #660033;">-d</span> asa802-k8
<span style="color: #c20cb9; font-weight: bold;">gzip</span>: asa802-k8.gz: decompression OK, trailing garbage ignored</pre></td></tr></table></div>

<p>Make a temp directory and go into it so we can extract the files contained in the uncompressed archive file (the initrd):</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14147"><td class="code" id="p141code47"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> tmp ; <span style="color: #7a0874; font-weight: bold;">cd</span> tmp</pre></td></tr></table></div>

<p>Now extract the archive with cpio (you must have the administrator rights to successfully extract device files).</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14148"><td class="code" id="p141code48"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cpio</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">--no-absolute-filenames</span> <span style="color: #660033;">--make-directories</span> <span style="color: #000000; font-weight: bold;">&lt;</span> ..<span style="color: #000000; font-weight: bold;">/</span>asa802-k8</pre></td></tr></table></div>

<p>Copy the Linux kernel to your previous directory:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14149"><td class="code" id="p141code49"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cp</span> vmlinuz ..<span style="color: #000000; font-weight: bold;">/</span>asa802-k8.kernel</pre></td></tr></table></div>

<p>Before compressing back the initrd, create the following script in asa/scripts/first_start.sh</p>
<p>This script formats the 256 MB flash on first start to be used by ASA. Loads the network drivers modules for Intel e100 (i82559er in Qemu) and Intel e1000 cards and activates the network interfaces to be used in ASA. I noticed that if we immediately start ASA after this first boot, it freezes (don&#8217;t really know why but it seems the system do something and slow down during the first minute &#8230;). The next time you start the system, the script will still load the activate the network interfaces and automatically start ASA.</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14150"><td class="code" id="p141code50"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #666666; font-style: italic;">##</span>
<span style="color: #666666; font-style: italic;">## Author: Jeremy Grossmann (2009)</span>
<span style="color: #666666; font-style: italic;">## Contributor: J. Pedro Flor (28 january 2010)</span>
<span style="color: #666666; font-style: italic;">##</span>
&nbsp;
<span style="color: #007800;">FIRST_START</span>=no
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>disk0<span style="color: #000000; font-weight: bold;">/</span>lina_monitor
<span style="color: #000000; font-weight: bold;">then</span>
 <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;d&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;o&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;n&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;p&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>  <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;t&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;4&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;w&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in
&nbsp;
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;Initializing partition...&quot;</span>
 <span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>fdisk <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda <span style="color: #000000; font-weight: bold;">&lt;</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>fdisk.pf.in <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null 2<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;done&quot;</span>
&nbsp;
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;Formating and mounting partition...&quot;</span>
 mkdosfs <span style="color: #660033;">-F</span> 16 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda1 <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null 2<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
 <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> vfat <span style="color: #660033;">-o</span> <span style="color: #7a0874; font-weight: bold;">umask</span>=0000,noatime,<span style="color: #007800;">check</span>=s,<span style="color: #007800;">shortname</span>=mixed <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>hda1 <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>disk0 <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null 2<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;done&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
&nbsp;
 <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>lina <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>disk0<span style="color: #000000; font-weight: bold;">/</span>lina
 <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>asa<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>lina_monitor <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>disk0<span style="color: #000000; font-weight: bold;">/</span>lina_monitor
 <span style="color: #007800;">FIRST_START</span>=<span style="color: #c20cb9; font-weight: bold;">yes</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># load drivers</span>
modprobe e100
modprobe e1000
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> eth0 up
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> eth1 up
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> eth2 up
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> eth3 up
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> eth4 up
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> eth5 up
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #007800;">$FIRST_START</span> = <span style="color: #c20cb9; font-weight: bold;">yes</span>
<span style="color: #000000; font-weight: bold;">then</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;          Cisco ASA with &lt;NO&gt; Multiple Security Contexts&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;          ==============================================&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;This is your first boot, please wait about 2 minutes for 'disk0' creation&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;and then execute the following commands inside the Linux prompt:&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; # cd /mnt/disk0&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; # /mnt/disk0/lina_monitor&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Please note to use the following command under ASA to save your configs:&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; ciscoasa(config)# boot config disk0:/.private/startup-config&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; ciscoasa(config)# copy running-config disk0:/.private/startup-config&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;To get webvpn working, execute the following commands:&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; ciscoasa# mkdir disk0:/var&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; ciscoasa# mkdir disk0:/var/log&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; ciscoasa# mkdir disk0:/csco_config&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; ciscoasa# mkdir disk0:/csco_config/97&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; ciscoasa# mkdir disk0:/csco_config/97/webcontent&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;          ( Powered by Pedro Flor )&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;          ( pedro.flor@gmail.com  )&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
 <span style="color: #7a0874; font-weight: bold;">exit</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Starting Cisco ASA with &lt;NO&gt; Multiple Security Contexts...&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>disk0
<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>disk0<span style="color: #000000; font-weight: bold;">/</span>lina_monitor</pre></td></tr></table></div>

<p>In order for the script to be loaded at startup, edit etc/init.d/rcS and change /asa/bin/lina_monitor by /asa/scripts/first_start.sh</p>
<p>Change first_start.sh permissions:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14151"><td class="code" id="p141code51"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">755</span> first_start.sh</pre></td></tr></table></div>

<p>Now you can compress all the file and have the initrd ready to use in Qemu:</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14152"><td class="code" id="p141code52"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cpio</span> <span style="color: #660033;">-o</span> <span style="color: #660033;">-H</span> newc <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">gzip</span> <span style="color: #660033;">-9</span> <span style="color: #000000; font-weight: bold;">&gt;</span> ..<span style="color: #000000; font-weight: bold;">/</span>asa802-k8.initrd.gz</pre></td></tr></table></div>

<h2>Automated extraction method</h2>
<p>TODO</p>
<h2>Using ASA with Qemu</h2>
<p>Create a FLASH (this is a virtual hard disk).</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14153"><td class="code" id="p141code53"><pre class="bash" style="font-family:monospace;">qemu-img create FLASH 256M</pre></td></tr></table></div>

<p>Then you can start Qemu.</p>

<div class="wp_codebox"><table width="100%" ><tr id="p14154"><td class="code" id="p141code54"><pre class="bash" style="font-family:monospace;">qemu <span style="color: #660033;">-hda</span> FLASH <span style="color: #660033;">-kernel</span> asa802-k8.kernel <span style="color: #660033;">-hdachs</span> 980,16,32 \
<span style="color: #660033;">-initrd</span> asa802-k8.initrd.gz <span style="color: #660033;">-m</span> 512 <span style="color: #660033;">-no-kqemu</span> <span style="color: #660033;">-nographic</span> <span style="color: #660033;">-append</span> \
<span style="color: #ff0000;">&quot;console=ttyS0,9600n8 hda=980,16,32 bigphysarea=16384 auto nousb ide1=noprobe&quot;</span></pre></td></tr></table></div>

<p>TODO: networking of ASA. Very similar with JunOS emulation.</p>
<h2>Using ASA with GNS3</h2>
<p>To be completed:</p>
<p>In Preferences -> Qemu -> Qemuwrapper section:</p>
<p>Set the path to Qemuwrapper (can be found in the GNS3 package)</p>
<p>Set the working directory (e.g. /tmp).</p>
<p>Set the path to your patched Qemu in &#8220;Path to Qemu&#8221;</p>
<p>In ASA section:</p>
<p>Set the paths to your initrd and kernel.</p>
<p>Drag and Drop an ASA symbol on the scene, start the firewall and telnet to it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gns3.net/2009/12/how-to-emulate-cisco-asa/feed/</wfw:commentRss>
		<slash:comments>121</slash:comments>
		</item>
		<item>
		<title>Olive reloaded or how to emulate Juniper routers</title>
		<link>http://blog.gns3.net/2009/10/olive-juniper/</link>
		<comments>http://blog.gns3.net/2009/10/olive-juniper/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 12:13:57 +0000</pubDate>
		<dc:creator>Jeremy Grossmann</dc:creator>
				<category><![CDATA[Juniper]]></category>
		<category><![CDATA[Dynamips]]></category>
		<category><![CDATA[Emulation]]></category>
		<category><![CDATA[GNS3]]></category>
		<category><![CDATA[JunOS]]></category>
		<category><![CDATA[Olive]]></category>
		<category><![CDATA[Qemu]]></category>

		<guid isPermaLink="false">http://blog.gns3.net/?p=4</guid>
		<description><![CDATA[This article explain you how to emulate Juniper JunOS on a PC using Qemu. This is an updated and enhanced version of excellent howtos from Juniper Clue and Internetwork Pro as well as Himawan Nugroho&#8217;s blog. I mainly focused on Qemu, so if you wish to install JunOS on a real PC or using VMware, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><!--pagetitle:Introduction--></p>
<p style="text-align: justify;">This article explain you how to emulate Juniper JunOS on a PC using <a href="http://www.qemu.org/" target="_blank">Qemu</a>. This is an updated and enhanced version of excellent howtos from <a href="http://juniper.cluepon.net/index.php/Olive" target="_blank">Juniper Clue</a> and <a href="http://inetpro.org/wiki/Using_QEMU_with_Olive_to_emulate_Juniper_Routers" target="_blank">Internetwork Pro</a> as well as <a href="http://brokenpipes.blogspot.com/2008/01/olive-is-alive.html" target="_blank">Himawan Nugroho&#8217;s blog</a>. I mainly focused on Qemu, so if you wish to install JunOS on a real PC or using VMware, please have a look at the <a href="http://juniper.cluepon.net/index.php/Olive" target="_blank">Juniper Clue</a> article for more information (and of course Google).</p>
<p style="text-align: justify;">So what&#8217;s new you would say? First, I chose to use the latest version of <a href="http://www.qemu.org/" target="_blank">Qemu</a>: the 0.11.0 which supports the Intel e1000 network card emulation since version 0.10.0. and includes several fixes for it. I have modified and adapted the old patch for Qemu 0.11.0, it includes the UDP tunnel (connection to Dynamips/GNS3), PCAP and LCAP support. Also, the patch allows multicast traffic with the e1000, i82557b and i82559er Qemu emulated network cards. Moreover, this article show how to emulate JunOS on multiple operating systems: Mac OS X, Windows XP and Linux Ubuntu 9.04 without using an untrustworthy obscure binary downloaded from a forum you can&#8217;t even read the language <img src='http://blog.gns3.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-4"></span></p>
<h2>Disclaimer</h2>
<p style="text-align: justify;">Please note that JunOS is not provided and will not be. So please don&#8217;t ask. Also, I do not take any responsibility on what happen on your PC, keep in mind  this howto requires some patience and that is not for complete beginners. Moreover, this howto doesn&#8217;t necessarily present the best and/or easiest way to emulate JunOS. This is the cleanest and less intrusive for me but please feel free to give me constructive comments and tell what worked or didn&#8217;t worked for you.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-8088569354328416";
google_ad_slot = "8504355656";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p style="text-align: center;">
<h2>What is a Olive?</h2>
<p style="text-align: justify;">This is very well summarized on the <a title="JuniperClue" href="http://juniper.cluepon.net/index.php/Olive">JuniperClue</a> website:</p>
<blockquote>
<p style="text-align: justify;">Olive is also the codename name given to JUNOS software running on an PC rather than a Juniper router. A common misconception is that Olive is some sort of &#8220;special software&#8221;, but it is actually ordinary JUNOS software running on a PC of similar specifications to a Routing Engine, with no forwarding hardware (or PFE) attached. If you took a Routing Engine out of a Juniper router and booted it in a blade server chassis, it would effectively be an Olive.</p>
</blockquote>
<blockquote>
<p style="text-align: justify;">Juniper originally developed Olive functionality as a software development platform, before its hardware product was fully implemented. It is not intended as a &#8220;router simulator&#8221;, and has never been a supported product, or intended for use by the general public in any way. At one point it was used by Juniper internally for lab work, but has largely been phased out of this role with the availability of low-end hardware based platforms such as the M5.</p>
</blockquote>
<blockquote>
<p style="text-align: justify;">The most common use of the Olive platform is for creative and unix-competent hackers to learn the JUNOS CLI on a low-cost platform. It is capable of forwarding a small amount of traffic, but does not support many of the features found on real Juniper routers. Essentially the forwarding on an Olive is the same as routing traffic via your fxp0 or em0 management interface on a real Routing Engine.</p>
</blockquote>
<h2>Ok so why all the secrecy?</h2>
<p style="text-align: justify;">Again, <a title="JuniperClue" href="http://juniper.cluepon.net/index.php/Olive">JuniperClue</a> explained all of this:</p>
<blockquote>
<p style="text-align: justify;">Juniper&#8217;s official position is that Olive does not exist. Considering that Olive is an unsupported and unsupportable platform using &#8220;free&#8221; (aka illegally licensed) software, this is not an unreasonable official position. Olive is essentially a hackers platform, with absolutely no support of any kind, and it is not suitable for any type of commercial use. If you are in any doubt, or if you are not able to figure it out, you should invest in a low-cost platform such as J-Series instead.</p>
</blockquote>
<blockquote>
<p align="justify">It is also important to remember that Olive exists because Juniper allows it to exist, and is a testament to the mutual respect between the extremely knowledgeable developer and user bases. If the Olive platform became widely abused, Juniper could easily add additional software checks to prevent it from working. Please do not abuse this feature by doing stupid things like contacting JTAC for support on an Olive, or selling illegal copies of the software as &#8220;router simulators&#8221;. This type of activity is likely to have serious legal consequences and/or provoke a justified response from Juniper, so just don&#8217;t do it.</p>
</blockquote>
<h2>
]]></content:encoded>
			<wfw:commentRss>http://blog.gns3.net/2009/10/olive-juniper/feed/</wfw:commentRss>
		<slash:comments>133</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
