J'ai récemment installé Ubuntu 13.04 sur le Beagle Bone Black. Cette image :
https://rcn-ee.net/deb/flasher/raring/BBB-eMMC-flasher-ubuntu-13.04-2013-10-08.img.xz
Ce microcontrôleur permet de partager la connexion Internet entre le PC hôte (Version 12.04 (précise) (64 bits), Kernel Linux 3.2.0-56-generic) et le BeagleBone via USB, donc je l'ai configuré comme suit :
BeagleBone Black :
ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1
PC hôte :
sudo su
#eth0 est mon interface faisant face à internet, eth3 est la connexion USB BeagleBone
ifconfig eth2 192.168.7.1
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth2 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
Après cela, la connexion Internet fonctionne, lorsque je fais ping 8.8.8.8
j'obtiens les résultats :
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=47 time=4.63 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=47 time=4.68 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=47 time=4.57 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=47 time=4.58 ms
^C
--- 8.8.8.8 statistiques ping ---
4 paquets transmis, 4 reçus, perte 0%, temps 3005ms
rtt min/avg/max/mdev = 4.578/4.620/4.682/0.063 ms
Pour avoir également la configuration DNS, j'ai tapé également echo "nameserver 8.8.8.8" >> /etc/resolv.conf
mais malheureusement lorsque je fais ping google.com
je reçois, après quelques secondes de calcul, ping: hôte inconnu google.com
Je sais que cette solution n'est pas idéale, mais pour cette session cela devrait fonctionner et ça ne marche pas. De plus, aussi bien le BBB que le PC utilisent resolvconf. Pour être honnête, je n'ai aucune idée de comment configurer le réseau en utilisant ce programme... J'ai essayé de modifier /etc/network/interfaces
sur le Beagle Bone Black comme ceci :
# Ce fichier décrit les interfaces réseau disponibles sur votre système
# et comment les activer. Pour plus d'informations, consultez interfaces(5).
# L'interface réseau loopback
auto lo
iface lo inet loopback
# L'interface réseau primaire
#auto eth0
iface eth0 inet dhcp
# Exemple pour conserver l'adresse MAC entre les redémarrages
#hwaddress ether DE:AD:BE:EF:CA:FE
# Exemple WiFi
#auto wlan0
#iface wlan0 inet dhcp
# wpa-ssid "essid"
# wpa-psk "motdepasse"
# Gadget Ethernet/RNDIS (g_ether)
# ... ou du côté hôte, usbnet et hwaddr aléatoire
# Notez que sur certaines cartes, usb0 est configuré automatiquement avec un script d'initialisation
# dans ce cas, pour le désactiver complètement, supprimez le fichier [run_boot-scripts] de la partition de démarrage
auto usb0
iface usb0 inet static
address 192.168.7.2
netmask 255.255.252.0
network 192.168.7.0
#broadcast 192.168.7.3
gateway 192.168.7.1
dns-nameservers 8.8.8.8 8.8.4.4
mais cela n'a pas aidé.
Je ne sais pas quoi d'autre je devrais faire. S'il vous plaît aidez-moi.
Informations supplémentaires utiles :
Beagle Bone Black : ifconfig
lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Portée:Machine
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file d'attente:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
usb0 Lien encap:Ethernet HWaddr ce:39:f3:4a:c7:94
adr inet:192.168.7.2 Bcast:192.168.7.3 Masque:255.255.255.252
adr inet6: fe80::cc39:f3ff:fe4a:c794/64 Portée:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:608 errors:0 dropped:0 overruns:0 frame:0
TX packets:375 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file d'attente:1000
RX bytes:57484 (57.4 Ko) TX bytes:63078 (63.0 Ko)
route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
default 192.168.7.1 0.0.0.0 UG 0 0 0 usb0
192.168.7.0 * 255.255.255.252 U 0 0 0 usb0
uname -a
Linux arm 3.8.13-bone28 #1 SMP Fri Sep 13 03:12:24 UTC 2013 armv7l armv7l armv7l GNU/Linux
/etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
#domain localdomain
#search localdomain
#nameserver 192.168.1.1
PC :
ifconfig
eth0 Lien encap:Ethernet Adresse matérielle 00:17:31:8d:6a:a6
Adresse inet:141.3.81.154 Bcast:141.3.83.255 Masque:255.255.252.0
Adresse inet6: fe80::217:31ff:fe8d:6aa6/64 Étendue:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:30732 errors:0 dropped:0 overruns:0 frame:0
TX packets:5888 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file attente:1000
RX octets:7266589 (7.2 MB) TX octets:1286462 (1.2 MB)
Interruption:19
eth1 Lien encap:Ethernet Adresse matérielle 00:04:75:ca:98:ee
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file attente:1000
RX octets:0 (0.0 B) TX octets:0 (0.0 B)
Interruption:21 Adresse de base:0xe400
eth2 Lien encap:Ethernet Adresse matérielle c8:a0:30:ac:2c:95
Adresse inet:192.168.7.1 Bcast:192.168.7.3 Masque:255.255.255.252
Adresse inet6: fe80::caa0:30ff:feac:2c95/64 Étendue:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:418 errors:0 dropped:0 overruns:0 frame:0
TX packets:637 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file attente:1000
RX octets:45704 (45.7 Ko) TX octets:88161 (88.1 Ko)
lo Lien encap:Boucle locale
Adresse inet:127.0.0.1 Masque:255.0.0.0
Adresse inet6: ::1/128 Étendue:Machine
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:840 errors:0 dropped:0 overruns:0 frame:0
TX packets:840 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file attente:0
RX octets:142988 (142.9 Ko) TX octets:142988 (142.9 Ko)
route
Destination Passerelle Genmask Flags Metric Ref Use Iface
default i60-gw-int.ipr. 0.0.0.0 UG 0 0 0 eth0
141.3.80.0 * 255.255.252.0 U 1 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth2
192.168.7.0 * 255.255.255.252 U 1 0 0 eth2
uname -a
Linux i60p354 3.2.0-56-generic #86-Ubuntu SMP Wed Oct 23 09:20:45 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Ce qui peut être important - le PC, qui partage Internet avec le BBB, fonctionne dans le réseau de l'université, qui est bien plus complexe qu'un réseau domestique normal - est-ce que cela peut causer des problèmes avec la résolution DNS ? Ce qui est également important - si je définis un serveur de noms logique dans resolv.conf.d/head (qui fonctionne simplement comme 8.8.8.8) et que je tape ping google.com, la machine calcule pendant un certain temps, puis renvoie une erreur d'hôte inconnu. Si je définis une adresse nonsensique, qui ne fonctionne certainement pas (par exemple 123.123.123.123), une erreur est renvoyée immédiatement.