Інтернет через USB на BeagleBone Black


11

Нещодавно я встановив Ubuntu 13.04 на Beagle Bone Black. Це зображення:

https://rcn-ee.net/deb/flasher/raring/BBB-eMMC-flasher-ubuntu-13.04-2013-10-08.img.xz

Цей мікроконтролер дозволяє спільно використовувати Інтернет-з'єднання між хост-ПК (версія 12.04 (точна) (64-розрядна), Kernel Linux 3.2.0-56-generic) та BeagleBone через USB, тому я перейшов до цього і налаштував пристрій так:

BeagleBone Black:

ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1

Хост-ПК:

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

Після цього Інтернет-підключення працює сам, коли ping 8.8.8.8я отримую результати:

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

Щоб налаштувати DNS, я також набрав також, echo "nameserver 8.8.8.8" >> /etc/resolv.confале, на жаль, коли ping google.comя отримую, після кількох секунд обчислень,ping: unknown host google.com

Отже - я знаю, що це рішення не є гарним, але для цього сеансу воно може працювати, і це не так. Більше того, обидва - BBB та ПК - використовують резолюціюconf. Якщо чесно, я не маю поняття, як налаштувати мережу за допомогою цієї програми ... Я спробував змінити /etc/network/interfacesна Beagle Bone Black так:

# 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

але це не допомогло.

Я не знаю, що ще мені робити. Будь ласка, допоможіть.

Додаткові корисні відомості:

Бігль кісток чорний: 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)

маршрут

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

унаме -а

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

ПК:

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)

маршрут

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

унаме -а

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

Що може бути важливим - ПК, який ділиться Інтернетом з BBB, працює в університетській мережі, що набагато складніше, ніж звичайна домашня мережа, - що може спричинити проблеми з вирішенням DNS? Що ще важливо - якщо я встановіть сервер імен, який має сенс у резолюції.conf.d / head (який просто працює та працює як 8.8.8.8) і введіть ping google.com, машина наносить обчислення протягом певного часу, а потім повертає помилку невідомого хоста . Якщо я встановив безглузду адресу, яка, безумовно, не працює (тобто 123.123.123.123), помилка повертається негайно.


З (не назад) BB, ваші команди працюють без помилок. Я щойно замінив nameserver 127.0.0.1 на nameserver <ip мого dns>, і роздільна здатність імені хоста працювала ...
Rémi

Відповіді:


5

Я працював над цим, додавши інтерфейс свого хоста (Fedora 20) до надійної зони. Мені соромно сказати, що я не знаю, що це насправді робить. Я переглянув вихідні таблиці IP-адрес і не побачив жодної згадки про цей інтерфейс, лише деякі ланцюги по зонах. У будь-якому випадку, перевірте свого хоста і подивіться, що може перешкоджати переадресації IP-адрес. Я здогадуюсь, що пінг працює, оскільки типові налаштування є більш спокійними для трафіку ICMP. Крім того, я думаю, що у вас є одне друкарське опис у вищезазначеному, мережна маска для usb0 повинна бути 255.255.255.252. Дякую, що ви написали те, що ви зробили, без цього було б набагато болісніше.


Це, безумовно, допомагає.
Восьминіг

1

У питанні про перезапис диспетчера з’єднань /etc/resolv.confнадійним рішенням є захист файлу ( chmod 444схоже, не шанується):

chattr +i /etc/resolv.conf

перезавантажте, щоб переконатися, що зміна виконується за допомогою "перезавантажити"

Щоб знімати захист файлу пізніше:

chattr -i /etc/resolv.conf

Це було або зробити це, або грати в /etc/init.d/connmanосвіжаючу (тобто перезаписувати) resolve.confпід час завантаження після connman.


1

Для того, щоб поділитися системою (я спробував ubuntu та fedora) WiFi Інтернет з beaglebone black (через Ethernet) із встановленим Debian wheezy, виконайте цей метод.

На ПК натисніть на значок мережі> vpn-з'єднання> налаштуйте vpn> ethernet, натисніть + Додати

назвіть з'єднання beagledhcp або щось подібне

змінити налаштування IPV4 на автоматичний dhcp

додаткові сервери DNS до 192.168.7.2 (IP beaglebone)

натисніть кнопку "Зберегти"

натисніть на піктограму мережі> vpn-з'єднання> налаштуйте vpn> ethernet

натисніть + Додати

назвіть підключення, що надається, або що-небудь подібне

змінити налаштування IPV4 на "спільний доступ до інших комп'ютерів"

натисніть кнопку "Зберегти" (2 з'єднання можуть бути встановлені автоматично, коли кабель LAN та USB кабель beaglebone підключені до ПК. також можна редагувати ці з'єднання)

підключіть плату до ПК (LAN та USB)

Відкрийте термінал і введіть

[dawn@localhost ~]$ ssh root@192.168.7.2
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

додайте ці рядки до файлу: встановіть статичний IP для 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

збережіть файл

/etc/init.d/networking restart

зробіть ifconfig, щоб знати зміни

ping 8.8.8.8

зроблено

якщо у вас є сумніви, напишіть мені: dawnpaulfacebook@gmail.com


Частина про "додаткові сервери DNS до 192.168.7.2 (IP beaglebone)" не має нічого спільного.
Восьминіг

0

Для мене важливою частиною головоломки було також виконання цих команд на хост-машині, до якої підключений BBB:

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

А може також і таке:

echo 1 > /proc/sys/net/ipv4/ip_forward

0

Введіть термінал сервера / шлюзу:

arp -s "$ IP" "$ MAC" паб

Де $ MAC - це апаратна адреса контролера Ethernet коробки шлюзу linux. Ви можете знайти його, запустивши ifconfig та перевіривши властивість ефіру вашого інтерфейсу Ethernet. $ IP - ip порту usb в тому ж сервері / шлюзі, який підключений до beagle.

:)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.