dimecres, 18 de juny de 2008

GNS + Dynamips en Leopard

Com instal·lar configurar i fer anar l'emulador de Cisco Dynamips, amb GNS3 (simulador de xarxes enroutades) en un Mac amb Leopard (10.5.3). L'emulador Dynamips esta en el repositori de MacPorts, pero la versió actual (18/6/2008) es massa antiga per funcionar amb la versió 0.5 del GNS3. Per resoldre-ho l'instal·larem desde MacPorts perque instal·li les dependencies. Despres compilarem la darrera versió i sustituirem el nou binari per l'instal·lat. Primer de tot cal ternir instal·lat i actualitzat el MacPorts i els Developer Tools d'Apple. Descarregar: Instal·lació: Supossant que el Developer Tools i els MacPorts estan insta·lats i configurats, instal·lem el dynamips desdels ports: Akasha:~ root# port install dynamips ---> Fetching libelf ---> Attempting to fetch libelf-0.8.10.tar.gz from http://www.mr511.de/software ---> Verifying checksum(s) for libelf ---> Extracting libelf ---> Configuring libelf ---> Building libelf with target all ---> Staging libelf into destroot ---> Installing libelf 0.8.10_0 ---> Activating libelf 0.8.10_0 ---> Cleaning libelf ---> Fetching dynamips [...] ---> Building dynamips with target all ---> Staging dynamips into destroot ---> Installing dynamips 0.2.7_1+idle_pcs ---> Activating dynamips 0.2.7_1+idle_pcs ---> Cleaning dynamips Akasha:bin root# ls -l /opt/local/bin/dynamips -rwxr-xr-x 1 root admin 1241232 Jun 18 19:13 /opt/local/bin/dynamips Akasha:bin root# ls -l /opt/local/bin/nvram_export -rwxr-xr-x 2 root admin 13412 Jun 18 19:13 /opt/local/bin/nvram_export Ja tenim instal·lada la versió antiga del dynamips amb les dependencies. Ara descomprimim la darrera versió dels fonts de dynamips descarregats. Obrim el Makefile i l'editem: ifeq ($(shell uname -s), Darwin) PCAP_LIB=/opt/local/lib/libpcap.a CFLAGS+=-I/opt/local/include -mdynamic-no-pic -D_FILE_OFFSET_BITS=64 # CFLAGS+=-I/usr/local/include -mdynamic-no-pic -D_FILE_OFFSET_BITS=64 LIBS=-L/opt/local/lib -L. -lelf -lpthread # LIBS=-L/usr/local/lib -L. -lelf -lpthread El que estem fent es canviar el path de les llibreries necessaries per compilar, per les que ens ha instal·lat el MacPorts. Guardem els canvis i compilem: Akasha:dynamips-0.2.8-RC2 marck$ make Linking rom2c Extracting ROM from ELF file 'mips64_microcode'... Extracting ROM from ELF file 'ppc32_microcode'... Compiling mempool.c Compiling registry.c Compiling rbtree.c Compiling hash.c [...] Compiling gen_eth.c Linking dynamips Linking nvram_export Ja tenim els 2 binaris: dynamips i nvram-export. Ara toca substituir els antics: Akasha:~ root# cd /opt/local/bin/ Akasha:bin root# cp ~kcraam/dynamips/dynamips-0.2.8-RC2/dynamips ./ Akasha:bin root# cp ~kcraam/dynamips/dynamips-0.2.8-RC2/nvram_export ./ PD. Problemes al conectar amb l'anfitrió. Sembla que hi ha algun problema de privilegis al crear una conexió amb l'anfitrió (el Mac) i nomes funciona si ens logem com Root (o System Administrator). No funciona ni el su ni el sudo. Enllaços interessants: