segunda-feira, 9 de janeiro de 2017

Configurando um IP fixo na interface eth0 do BeagleBone Black

Introdução

Ao conectar o BBB (BeagleBone Black) no computador e instalar os drivers necessários, ele automaticamente cria uma conexão usb0 com o IP 192.168.7.2. Mas ele possui uma interface de rede, a eth0, e nem sempre estamos em um ambiente com DHCP.

O Ambiente

Estou usando a imagem Debian 8.6 2016-11-06 4GB SD LXQT

O Problema

Configurar um IP para essa interface deveria ser uma tarefa simples, bastaria editar o arquivo /etc/network/interfaces e configurar de acordo com sua necessidade:
# vi /etc/network/interfaces
auto eth0
 iface eth0 inet static
    address 10.0.1.100
    netmask 255.255.255.0
    network 10.0.1.0
    gateway 10.0.1.1
    dns-nameservers 8.8.8.8



Só que isso simplesmente não funciona! Você reinicia ele e nada.

A Solução

Depois muito pesquisar achei a solução em uma lista de discussão:
Primeiro vamos descobrir o identificador da interface
# connmanctl services
*AO Wired                ethernet_d05fb8ed4f78_cable


Depois vamos usar o comando connmanctl config para configurar as opções da interface
# connmanctl config ethernet_d05fb8ed4f78_cable --ipv4 manual 10.0.1.100 255.255.255.0 10.0.1.1 --nameservers 8.8.8.8
E agora já podemos visualizar os novos parâmetros da interface através do comando ip
# ip addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether d0:5f:b8:ed:4f:78 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.100/24 brd 10.0.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::d25f:b8ff:feed:4f78/64 scope link
       valid_lft forever preferred_lft forever


E pronto você já pode executar um ping www.google.com por exemplo, para validar sua conexão com a internet.

Se você quiser reverter, e usar novamente a interface eth0 como DHCP, basta executar o comando
# connmanctl config ethernet_d05fb8ed4f78_cable --ipv4 dhcp

Fonte:

Google Groups BeagleBoard