sexta-feira, 23 de julho de 2010

Configurando redes Ad-hoc via linha de comando no Linux

Esta semana estou em Belo Horizonte, participando do Congresso da Sociedade Brasileira de Computação, na PUC Minas. Além dos eventos abertos ao público, também estou participando de alguns mini-cursos JAI (2 e 3).

Há somente um único inconveniente: que estou totalmente limitado e sem acesso à internet, e agora com meu cartão do banco bloqueado! No entanto, não esqueci de vocês e aqui posto uma dicazinha que resolveu um problema nos primeiros dias aki em BH, que era a criação de uma rede sem fio entre máquinas, sem usar um Access Point. Curtam!

Configurando redes Ad-hoc via linha de comando no Linux

Creio que esta dica servirá pra galera que está tendo complicações ao realizar tal configuração para "bater um fight" de repente em um jogo de tiro, ou simplesmente transmitir arquivos via ssh de um micro para outro...



Primeiro execute o comando ifconfig e verifique o alias da placa de rede, no meu caso é wlan0, como no exemplo abaixo:

Para as configurações abaixo é necessário privilégio de root. Se você estiver trabalhando com o seu próprio usuário use o sudo su -.

Abra o terminal e execute os seguintes comandos:

iwconfig wlan0 192.168.0.1 netmask 255.255.255.0 up
iwconfig wlan0 mode Ad-Hoc
iwconfig wlan0 essid ubuntu
iwconfig wlan0 channel 10
iwconfig wlan0 key restricted s:senha12345678


A criptografia por padrão é WEP, então na última linha é definida a senha da rede, a senha deve ter exatamente 5 ou 13 digitos, caso a senha seja somente números retire o "s:" antes da senha ou ainda caso queira deixar sem senha apenas coloque off, ficando # iwconfig wlan0 key off.
No essid é o nome da rede, você pode escolher qualquer nome.

No outro computador basta utilizar a mesma configuração, alterando logicamente apenas o endereço ip na primeira linha, para por exemplo 192.168.0.2

Depois de estabelecida a conexão você pode tb compartilhar sua conexão 3G. Supondo que a interface do seu modem seja ppp0 o script seria assim

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE


Execute estes comandos como root (um por vez) e adicione no seu /etc/rc.local ou crie um script e aponte dentro do /etc/rc.local para que seja feita o compartilhamento automaticamente durante o boot.

Taí. Uma dica simples pra quem tá totalmente sem tempo de postar nada maior que duas páginas!