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 Host PC (version 12.04 (précise) (64 bits), Kernel Linux 3.2.0-56-generic) et BeagleBone sur USB. Je suis donc parti et j'ai configuré le périphérique comme suit:
BeagleBone Noir:
ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1
PC hôte:
Sudo su
#eth0 is my internet facing interface, eth3 is the BeagleBone USB connection
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
Une fois que cette connexion Internet a fonctionné, lorsque je fais ping 8.8.8.8
, je reçois 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 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 4.578/4.620/4.682/0.063 ms
Pour que le DNS soit configuré aussi, j’ai saisi aswell echo "nameserver 8.8.8.8" >> /etc/resolv.conf
mais malheureusement, lorsque je sais ping google.com
, je reçois, après quelques secondes d’informatique, ping: unknown Host google.com
Donc, je sais que cette solution n’est pas bonne, mais pour cette session, elle pourrait fonctionner et ne fonctionnerait pas. Qui plus est, BBB et PC utilisent resolvconf. Pour être honnête, je n'ai aucune idée de la façon de configurer le réseau à l'aide de ce programme ... J'ai essayé de changer /etc/network/interfaces
sur Beagle Bone Black comme ceci:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#auto eth0
iface eth0 inet dhcp
# Example to keep MAC address between reboots
#hwaddress ether DE:AD:BE:EF:CA:FE
# WiFi Example
#auto wlan0
#iface wlan0 inet dhcp
# wpa-ssid "essid"
# wpa-psk "password"
# Ethernet/RNDIS gadget (g_ether)
# ... or on Host side, usbnet and random hwaddr
# Note on some boards, usb0 is automaticly setup with an init script
# in that case, to completely disable remove file [run_boot-scripts] from the boot partition
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 ça n'a pas aidé.
Je ne sais pas quoi d'autre dois-je faire. S'il vous plaît aider.
Informations utiles supplémentaires:
Beagle Bone Black: ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
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 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
usb0 Link encap:Ethernet HWaddr ce:39:f3:4a:c7:94
inet addr:192.168.7.2 Bcast:192.168.7.3 Mask:255.255.255.252
inet6 addr: fe80::cc39:f3ff:fe4a:c794/64 Scope:Link
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 txqueuelen:1000
RX bytes:57484 (57.4 KB) TX bytes:63078 (63.0 KB)
route
Kernel IP routing table
Destination Gateway Genmask Flags 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 Link encap:Ethernet Hardware Adresse 00:17:31:8d:6a:a6
inet Adresse:141.3.81.154 Bcast:141.3.83.255 Maske:255.255.252.0
inet6-Adresse: fe80::217:31ff:fe8d:6aa6/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:30732 errors:0 dropped:0 overruns:0 frame:0
TX packets:5888 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX-Bytes:7266589 (7.2 MB) TX-Bytes:1286462 (1.2 MB)
Interrupt:19
eth1 Link encap:Ethernet Hardware Adresse 00:04:75:ca:98:ee
UP BROADCAST MULTICAST MTU:1500 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX-Bytes:0 (0.0 B) TX-Bytes:0 (0.0 B)
Interrupt:21 Basisadresse:0xe400
eth2 Link encap:Ethernet Hardware Adresse c8:a0:30:ac:2c:95
inet Adresse:192.168.7.1 Bcast:192.168.7.3 Maske:255.255.255.252
inet6-Adresse: fe80::caa0:30ff:feac:2c95/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:418 errors:0 dropped:0 overruns:0 frame:0
TX packets:637 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX-Bytes:45704 (45.7 KB) TX-Bytes:88161 (88.1 KB)
lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:16436 Metrik:1
RX packets:840 errors:0 dropped:0 overruns:0 frame:0
TX packets:840 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX-Bytes:142988 (142.9 KB) TX-Bytes:142988 (142.9 KB)
route
Ziel Router 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
Qu'est-ce qui peut être important - un PC, qui partage Internet avec BBB, fonctionne dans le réseau de l'Université, ce qui est beaucoup plus compliqué qu'un réseau domestique normal - pourrait-il causer des problèmes de résolution DNS? Ce qui est important pour le moment - si je configure un serveur de noms qui a du sens dans resolv.conf.d/head (qui est tout simplement opérationnel, comme 8.8.8.8) et tape ping google.com, la maschine est calculée pendant un certain temps et renvoie une erreur inconnue. Host host . Si je mets une adresse absurde, qui ne fonctionne sûrement pas (c.-à-d. 123.123.123.123), l'erreur est renvoyée immédiatement.
Je l'ai obtenu en ajoutant l'interface de mon hôte (Fedora 20) à la zone de confiance. Je suis gêné de dire que je ne sais pas ce que ça fait vraiment. J'ai regardé la sortie des tables IP brutes et je n'ai vu aucune mention de cette interface, seulement quelques chaînes par zone. Quoi qu'il en soit, vérifiez votre hôte et voyez ce qui pourrait empêcher le transfert IP. Je suppose que ping fonctionne car les valeurs par défaut sont plus souples pour le trafic ICMP. De plus, je pense que vous avez une faute de frappe dans ce qui précède, le masque de réseau pour usb0 devrait être 255.255.255.252. Merci d'avoir posté ce que vous avez fait, cela aurait été bien plus pénible sans cela.
Pour le problème de remplacement de Connection Manager /etc/resolv.conf
, une solution simple consiste à protéger le fichier (chmod 444
ne semble pas être honoré):
chattr +i /etc/resolv.conf
redémarrez pour vérifier que le changement est valable en utilisant 'reboot'
Pour déprotéger le fichier ultérieurement:
chattr -i /etc/resolv.conf
C'était soit faire ceci, soit jouer au jeu /etc/init.d/connman
de rafraîchissement (c'est-à-dire d'écraser) resolve.conf
au moment du démarrage après connman.
Pour partager le système (j'ai essayé Ubuntu et Fedora), l'internet WiFi avec Beaglebone Black (via Ethernet) avec Debian Wheezy installé, suivez cette méthode.
Sur PC, cliquez sur l’icône réseau> connexions vpn> configurer vpn> ethernet cliquez sur + Ajouter
nommer la connexion beagledhcp ou quoi que ce soit comme
changer les paramètres IPV4 en DHCP automatique
serveurs DNS supplémentaires à 192.168.7.2 (IP de Beaglebone)
cliquez sur Enregistrer
cliquez sur l'icône de réseau> connexions vpn> configurer vpn> ethernet
cliquez sur + Ajouter
nommer la connexion beagleshared ou quoi que ce soit comme
changer les paramètres IPV4 en "partagés avec d'autres ordinateurs"
cliquez sur Enregistrer (2 connexions peuvent être automatiquement établies lorsque le câble LAN et le câble USB de Beaglebone sont connectés au PC. Vous pouvez également modifier ces connexions).
connecter la carte au PC (LAN & USB)
Ouvrez le terminal et tapez
[dawn@localhost ~]$ ssh [email protected]
Debian GNU/Linux 7
BeagleBoard.org BeagleBone Debian Image 2014-04-23
Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
Last login: Sat Aug 2 19:54:25 2014 from linux.local
root@beaglebone:~#
vi /etc/network/interfaces
ajoutez ces lignes au fichier: pour définir une adresse IP statique pour beaglebone Ethernet (eth0)
auto eth0
iface eth0 inet static
address 10.42.0.69
netmask 255.255.255.0
gateway 10.42.0.1
dns-nameservers 8.8.8.8 8.8.8.9
sauvegarder le fichier
/etc/init.d/networking restart
faire ifconfig pour connaître les changements
ping 8.8.8.8
terminé
si vous avez un doute, écrivez-moi à [email protected]
Tapez un terminal du serveur/passerelle:
Où, $ MAC est l'adresse matérielle du contrôleur Ethernet de la boîte de passerelle linux. Vous pouvez le trouver en exécutant ifconfig et en vérifiant la propriété ether de votre interface Ethernet. $ IP est l'adresse IP du port USB du même serveur/passerelle connecté au beagle.
:)
Pour moi, une partie importante du puzzle consistait également à exécuter ces commandes sur la machine hôte à laquelle le BBB est connecté:
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface enp8s0 -j MASQUERADE
iptables --append FORWARD --in-interface enp8s0 -j ACCEPT
Et peut-être aussi ceci:
echo 1 > /proc/sys/net/ipv4/ip_forward