GNS3 deve ser o software mais utilizado para estudo e simulação de redes Cisco. Se o utiliza, sabe do que estou a falar. Se não… é hora de começar.
Mas alguma vez se perguntou como é possível simular acesso às portas consola/serial dos routers?
O GNS3 é cada vez mais, um software de orquestração de vários componentes, sendo o principal o dynamips. Dynamips é o emulador que permite correr em PCs imagens Cisco IOS de alguns routers totalmente baseados em software e o GNS3 é simplesmente um frontend ou GUI (Graphical User Interface) que facilita ao utilizador a criação de topologias que de outra forma teriam que ser criadas com muita luta com ficheiros de texto.
Para testar esta afirmação abrimos uma topologia nova. O que acontece quando adicionamos o 1º router à topologia?
E no 2º router?
Basta adicionar routers à topologia e são iniciados processos dynamips, mesmo sem correr a simulação.
E o que acontece quando se corre a simulação?
Os processos mantêm-se com a diferença que são criadas 2 novas ligações TCP (portas 2001 e 2002) em “escuta”, prontas para receber ligações. Tocaremos nelas um pouco mais à frente.
As “consolas” no GNS3
O click duplo em um dos routers abre o cliente telnet configurado (putty no meu caso) e é possível ver a ligação telnet estabelecida.
E o duplo click no segundo router?
Facilmente se vê que as ligações “console” são na verdade ligações TCP para o localhost (127.0.0.1) nas portas 2001, 2002, 20.. O GNS3 inicia o cliente automaticamente com as configurações correctas para o router desejado. As portas são escolhidas de forma sequencial à medida que se adicionam os routers à topologia.
Passando o mouse por cima de qualquer router permite ver a porta usada para a console.
A gama de portas pode ser alterada na janela de configurações do GNS3.
Menu: Edit > Preferences ; Server > Local Server > Console Port Range …
A alteração destas portas pode ser útil em caso de conflito com outros serviços. Há um caso conhecido do antivirus Bitdefender e a porta TCP 10000.
Qual a utilidade desta informação?
Esta informação não serve como simples “conhecimento geral” mas tem alguma utilidade. Pessoalmente, foi útil em testes de automação e screen scraping de dispositivos de rede sem a necessidade de equipamentos reais ou de ter que criar uma rede virtual com endereçamento IP. Os testes com telnet para 127.0.0.1:200X foram suficientes.
Uma outra utilidade é o “disparo” rápido de consolas para laboratórios frequentes com muitos routers em clientes que permitem estruturas de pastas de ligações como Secure CRT.
Como definir manualmente as portas?
A atribuição de portas aos routers não tem que ser automática. Se necessário, é possível alterar as portas atribuídas às consolas.
Opção 1
Alterar a configuração do router na topologia:
Clique direito > Configure > Aba General > Console port
Opção 2
Se for um pouco mais aventureiro, depois de gravar o projecto GNS3 é possível editar o ficheiro .gns3 na pasta do projecto.
Cada router está dentro de um grupo “nodes”. A porta consola é a propriedade “console” por baixo do grupo “properties” de cada objecto.
Espero no futuro escrever mais sobre o formato do ficheiro .gns3.
Remote Servers?
Caso tenha reparado nas capturas, além das portas console, o GNS3 tem muitas outras opções de rede e portas (local port 8008 TCP, host binding 127.0.0.1, etc.) Esta característica do GNS3 permitir a comunicação dos vários elementos através da rede permite correr simulações distribuídas com o cliente em uma máquina e um ou vários servidores (hypervisors dynamips) em servidor(es) remoto(s).
Interessado em saber mais sobre isto?
——————
Caso interesse, as capturas de processos e ligações de rede (um netstat GUI) foram feitas com o TCPView e Process Explorer da Sysinternals/Microsoft.
Pingback: GNS3 VM | Ignorante e Indeciso
Pingback: The GNS3 VM | Ignorant and Undecided