Arquivo da tag: rede

VirtualBox: VMs com IPs estáticos e internet de maneira simples

virtualbox-imageTem certas coisas que você só aprende tentando… Mas esse assunto foi muito além desse princípio.

Durante toda a semana, procurei por soluções para colocar 2 máquinas virtuais acessíveis pela minha máquina hospedeira, com ip fixo e com internet.

O que acontece é o seguinte: Quem possui as versões mais atuais do virtualbox (a minha é a 3.1.2), possui uma opção de adaptador de rede, que se chama host-only. Ela cria uma conexão de rede em seu sistema hospedeiro, e utiliza um DHCP próprio para gerenciar as VMs, e com isso você consegue tanto utilizar internet, quanto se comunicar entre máquina real e máquina virtual.

O problema é que preciso garantir que estou dando SSH para a VM certa. O DHCP pode comprometer essa garantia.

O que tentei fazer… Atribuir um ip fixo na máquina virtual. Mas sem utilizar o DHCP, faz com que a VM fique sem conectividade com a internet.

Procurando pelo google, vi várias soluções que se resumiam em criar interfaces de redes virtuais para cada VM e compartilhando a conexão de internet entre elas, alterando tudo no arquivo /etc/netwotk/interfaces (ubuntu) e mais algumas outras coisas.

Eu não só testei várias soluções, como nenhuma delas funcionou, e ainda fiquei com alguns problemas de rede, mas que foram facilmente resolvidos.

Não querendo complicar uma coisa tão simples, consegui achar uma solução que resolve tudo com apenas alguns cliques, sem alterar nenhuma configuração e nem arriscar problemas na sua rede atual (eth0) =D

Então, vamos para a solução final:

Existe uma outra opção para sua interface de rede no virtualbox: NAT. Ela atribui um IP para sua VM, que é inacessível não só entre a maquina real e a virtual, quanto entre as máquinas virtuais também… Essa opção apenas libera o acesso à internet para a VM.

A solução foi utilizar 2 interfaces de rede para cada VM. A primeira interface foi definida como NAT e a segunda como host-only. A ordem é importante… Certifique-se que a primeira interface é a NAT. Também é necessário desativar o DHCP do host-only (Vá em Arquivo > Preferências > Rede > “Edite a Rede Virtual do Host-Only” > “Na aba Servidor DHCP, desmarque a opção Habilitar Servidor”).

Feito isso, inicie a VM e atribua um IP fixo para a interface que utiliza o host-only… E como eu disse acima, essa interface com ip fixo fica acessível entre as máquinas virtuais e a real, perdendo apenas a conexão com a internet. Mas como você configurou uma interface NAT anteriormente, o problema está resolvido! 🙂

virtual-box-rede-2-interfaces

A imagem acima é um pedaço da descrição de uma das minhas máquinas virtuais que rodam num virtualbox para windows. A idéia é a mesma tanto para windows quanto para linux. 😉

Curiosidade: Note que no windows o nome do adaptador de rede para o host-only é “VirtualBox Host-Only Ethernet Adapter” e no linux é “vboxnet0”.

Dica rápida: Se o seu virtualbox foi instalado pelo aptitude/synaptic do ubuntu (linux), certamente você possui uma versão velha e com poucos recursos… Sugiro baixar uma versão mais atual no site do virtualbox.

Se conseguir uma outra solução, não deixe de compartilhar aqui! 🙂
Espero ter ajudado !

Share

Tunneling com Tsocks

network

Este post é um complemento de Tunneling: Passe por bloqueios de proxy ou de firewall com Socks

Porque usar Tsocks e não somente o socks ?

O Tsocks pode ser usado “por baixo” de qualquer programa e você não precisa ficar editando as configurações para informar o endereço de conexão socks. Permite também que você passe pelos bloqueios da rede, e assista videos do youtube por exemplo, coisa que não dá pra ser feito pelo tunneling convencional, devido conexão entre o player e o navegador cliente.

Tsocks redireciona todas as portas de comunicação para a sua conexão socks. Sendo assim, com ele você pode executar programas como mensageiros, navegadores e até jogos.

Lembrando que para utiliza-lo você precisa estabelecer uma conexão socks. Veja mais detalhes aqui.

Instalando o Tsocks:

(No ubuntu): sudo aptitude install tsocks
Ou pelo site http://tsocks.sourceforge.net/download.php

Configurando:

Apague todo conteudo do arquivo /etc/tsocks.conf e insira somente as seguintes linhas:
server = 127.0.0.1
server_type = 5
server_port = 8989

Onde server será sempre 127.0.0.1, máquina que roda o tsocks. Server_type refere-se a versão do socks, neste caso, usamos a versão 5. Server_port é o parâmetro mais importante. Ao estabelecer a conexão SSH, a porta informada deve ser a mesma que server_port.
(No exemplo:  ssh -D 8989 [email protected])

Rodando:

Primeiro, certifique-se que o socks está estabelecido (Mais informações aqui). Feito isso, basta executar o comando no terminal:

tsocks firefox

OBS: Antes de executar o tsocks certifique-se que não há outro processo do firefox aberto. (Ou do programa que você pretende executar)

Faça uns teste em sites do tipo: meuip.com.br para verificar se está funcionando.Você pode executar o tsocks com qualquer programa.

Encerrando:

Basta fechar o programa que roda com o tsocks e fechar a conexão SSH (socks).

—-

Bom proveito ! 🙂


Share

Tunneling: Passe por bloqueios de proxy ou de firewall com Socks

internetHá várias formas de passar por bloqueios de proxy, encontrados em faculdades e empresas. Vou explicar uma das formas usando socks.

Geralmente em lugares onde é comum apenas a navegação web, o administrador de rede bloqueia as portas de saída, liberando apenas a porta 80 (HTTP) e a porta 443 (HTTPS). Com isso, alguns serviços como FTP ou POP3 ficam indisponíveis e alguns sites são bloqueados.

Como o SSH utiliza a porta 443, que difícilmente é bloqueada, podemos utilizar do recursos “Túnel” aplicando o Socks.

Socks é um protocolo de internet que permite que aplicações redirecionem suas requisições para um servidor externo, passando assim desapercebido pelo servidor proxy ou firewall local.

Em outras palavras, ao acessar um site, a requisição é criptografada e enviada ao seu servidor externo (via conexão SSH), o servidor manipula a requisição (acessando o site que você solicitou) e devolve o resultado para seu computador, passando desapercebido pelo firewall ou proxy, devido a criptografia dos dados que circulam na porta 443.

Já aproveito para alertar, que isso é ilegal caso os dados transmitidos por este meio esteja fora das normas da instituição.

Então vamos lá:

Para utilizar o socks, você  precisa de um servidor externo, com qualquer sistema operacional apto à estabelecer uma conexão SSH (O servidor pode ser adquirido com alguma empresa de hospedagem brasileira ou estrangeira)

OBS: Os procedimentos abaixo não foram testados em windows. Se alguém quiser testar, compartilhe seu resultado aqui. Nos exemplo abaixo, utilizo linux ubuntu 9.04

—————————
Configurando o SOCKS:

Abra o terminal e digite:

ssh -D 8989 <username_do_servidor>@<ip_do_servidor>
Exemplo: ssh -D 1234 [email protected]

* A opção -D refere-se a porta que será utilizada pelo Socks

Mantenha terminal sempre aberto para não interromper a conexão com o seu servidor.

Agora, basta alterar a configuração do seu navegador para redirecionar o trafego para a porta 8989.

Pelo firefox, a configuração fica em:
Editar > Preferências > Avançado > Rede > Conexão > Configurar

Escolha a opção Configuração manual de proxy, e preencha apenas o campo SOCKS da seguinte forma:
SOCKS 127.0.0.1 Porta 8989
Aperte OK para salvar as configurações, e já pode utilizar o seu navegador com acesso livre a internet.

Para encerrar a operação, feche a conexão ssh e altere a configuração do navegador de volta para o padrão/automático.

—————————

Para testar todo o procedimento, você pode fazer o seguinte:
Antes de alterar a configuração do seu navegador, acesse o site: http://meuip.datahouse.com.br/ e anote o seu ip. Feito isso, habilite o socks e entre no site novamente. Você verá que o procedimento funcionou, se o ip registrado for o ip do seu servidor remoto e não o seu.

Isso significa, que quando você tentar acessar um site, ou seja, ao fazer uma requisição à um site, não é o seu ip que chegan o site, mas o ip do seu servidor. Isso caracteriza o tunneling.

Façam bom proveito da dica, qualquer dúvida é só perguntar. 😉

 

Share