quarta-feira, 14 de fevereiro de 2007

Simulando um roteador com JunOS

Não é de hoje que sabemos que grande parte da arquitetura dos roteadores da Juniper é totalmente baseada no PC: memória RAM, ROM, CPU, placa-mãe, etc. Também sabe-se que o JunOS - sistema operacional que controla uma parte específica destes roteadores: a routing engine ou RE - é também baseado no sistema operacional FreeBSD. Por isso, sempre houve um certo mito sobre a possibilidade de rodar o JunOS em um PC "caseiro". Esta combinação - PC mais o JunOS - foi gentilmente apelidada de Olive. A principal motivação para instalarmos o Olive - além da natural curiosidade - é o aprendizado e a familiarização com o sistema operacional JunOS.

Em linhas gerais, os passos para instalar o Olive são:

- Instalar o FreeBSD
- Instalar o pacote do JunOS (jinstall)
- Reboot

Existem também algumas dicas e observação importantes que podem ajudar neste teste. Para começar é recomendável instalar o FreeBSD 4.x-mini (testado com a versão 4.4-mini) com a seguinte estrutura de diretórios:

ad0s1a     /       100M
ad0s1b swap 1G
ad0s1e /config 12M
ad0s1f /var (maior slice, o resto do disco)

Apesar de ser aconselhável utilizar o modelo de particionamento acima, a instalação do pacote jinstall (JunOS) poderá alterar a estrutura de diretórios caso seja necessário. O próximo passo é copiar o pacote do JunOS - que deve ser um arquivo do tipo jinstall-xxx.tgz - para o diretório /var/tmp e iniciar a instalação. Os passos são:
rm /dev/wd0c
ln -s /dev/ad0c /dev/wd0c
mkdir /var/etc
cd /var/etc
touch master.passwd; touch inetd.conf; touch group
cd /var/tmp; pkg_add jinstall-7.0R1.5-domestic-signed.tgz
reboot
Neste momento você poderá ver o Olive rodando em um PC comum. Para conectar-se e iniciar alguma configuração é necessário possuir um cabo de console e utilizar um programa como o Hyper Terminal ou similar. Se você instalou o Olive em uma máquina virtual VMware (FreeBSD), então você pode utilizar o programa VMware Serial Line Gateway para conectar na porta serial sem a necessidade de um cabo serial - a idéia deste programa é criar um gateway para conexão via telnet e traduzir essa conexão para a porta serial do VMware. No caso do VMware, ainda existe uma dica importante: edite o arquivo *.vmx e adicione a linha descrita abaixo, dessa forma o VMware irá simular uma interface de rede Intel que o JunOS/FreeBSD poderá reconhecer.
ethernet0.virtualDev = "e1000"
É importante saber também que o JunOS/Olive é incompatível com a maioria das placas de rede mais comuns. Para saber mais sobre o Olive, versões testadas de JunOS e placas de rede compatíveis basta acessar a página wiki do Olive ou ainda a página de outras pessoas que também já testaram o Olive como o "Sid Smokes" e o Joel Knight.

3 comentários:

Anônimo disse...

Gustavo. Li seu artigo e li também o artigo "http://www.smogey.net/tech/Juniper/Olive/index.htm". Tudo vai bem até a instalação do freebsd miniiso no vmware, transfiro a imagem do junos do xp para o freebsd e quando eu tento instalar o junos (usando pkg_add) obtenho o erro "invalid compressed data -- format violated". Isto aconteceu com quatro imagens diferentes do junos. Não me parece problema de arquivo corrompido. Alguma idéia do porque do gzip apresentar este erro. (jlspina@gmail.com)

Anônimo disse...

Se vc tem uma versão do Junos que está como .tar, copie ela para o /var/tmp mudando a extensão para .tgz.

Anônimo disse...

Vc está fazendo a cópia do JUNOS, usando o formato "BIN" no FTP?