Niedawno zainstalowałem Ubuntu 13.04 na Beagle Bone Black. To zdjęcie:
https://rcn-ee.net/deb/flasher/raring/BBB-eMMC-flasher-ubuntu-13.04-2013-10-08.img.xz
Ten mikrokontroler pozwala współdzielić połączenie internetowe między komputerem hosta (wersja 12.04 (precyzyjnie) (64-bit), jądro Linux 3.2.0-56-generic) i BeagleBone przez USB, więc wybrałem go i skonfigurowałem urządzenie w następujący sposób:
BeagleBone Black:
ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1
Komputer hosta:
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
Po tym połączenie internetowe działa samo, a kiedy to robię ping 8.8.8.8
, otrzymuję wyniki:
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
Aby skonfigurować DNS również, wpisałem również, echo "nameserver 8.8.8.8" >> /etc/resolv.conf
ale niestety, kiedy to zrobię ping google.com
, po kilku sekundach przetwarzania,ping: unknown host google.com
Tak więc - wiem, że to rozwiązanie nie jest dobre, ale dla tej sesji może działać i nie działa. Co więcej, zarówno - BBB, jak i PC - używają resolvconf. Szczerze mówiąc, nie mam pojęcia, jak skonfigurować sieć za pomocą tego programu ... Próbowałem zmienić /etc/network/interfaces
Beagle Bone Black w następujący sposób:
# 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
ale to nie pomogło.
Nie wiem co jeszcze powinienem zrobić. Proszę pomóż.
Dodatkowe przydatne informacje:
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)
trasa
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)
trasa
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
Co może być ważne - komputer, który dzieli Internet z BBB, działa w sieci uniwersyteckiej, która jest znacznie bardziej skomplikowana niż normalna sieć domowa - czy może to powodować problemy z rozwiązaniem DNS? Co jest jeszcze ważne - jeśli ustawię serwer nazw, który ma sens w resolv.conf.d / head (który po prostu działa i działa jak 8.8.8.8) i napiszę ping google.com, maszyna oblicza przez pewien czas i zwraca błąd nieznanego hosta . Jeśli ustawię nonsensowny adres, który na pewno nie działa (tj. 123.123.123.123), błąd jest natychmiast zwracany.
źródło
Odpowiedzi:
Udało mi się to, dodając interfejs na moim hoście (Fedora 20) do strefy zaufanej. Wstydzę się powiedzieć, że nie wiem, co to naprawdę robi. Patrzyłem na wyjściowe tabele surowego IP i nie widziałem żadnej wzmianki o tym interfejsie, tylko niektóre łańcuchy według stref. W każdym razie sprawdź hosta i sprawdź, co może uniemożliwić przekazywanie adresów IP. Domyślam się, że ping działa, ponieważ ustawienia domyślne są bardziej łagodne dla ruchu ICMP. Ponadto myślę, że masz jedną literówkę powyżej, maska sieci dla usb0 powinna wynosić 255.255.255.252. Dziękujemy za opublikowanie tego, co zrobiłeś, bez niego byłoby to o wiele bardziej bolesne.
źródło
W przypadku nadpisywania Menedżera połączeń
/etc/resolv.conf
nieudolnym rozwiązaniem jest ochrona pliku (chmod 444
nie wydaje się to honorowane):uruchom ponownie, aby sprawdzić, czy zmiana się utrzymuje, używając opcji „uruchom ponownie”
Aby później wyłączyć ochronę pliku:
Można to zrobić albo zagrać w
/etc/init.d/connman
grę polegającą na odświeżeniu (np.resolve.conf
Nadpisaniu ) w czasie rozruchu po Connmanie.źródło
Aby udostępnić systemowy system (próbowałem ubuntu i fedora) Wi-Fi z beaglebone black (przez ethernet) z zainstalowanym serwerem Debian, postępuj zgodnie z tą metodą.
Na komputerze kliknij ikonę sieci> połączenia VPN> skonfiguruj VPN> kliknij Ethernet + Dodaj
nazwij połączenie beagledhcp lub cokolwiek innego
zmień ustawienia IPV4 na automatyczne dhcp
dodatkowe serwery DNS do 192.168.7.2 (IP beaglebone)
kliknij zapisz
kliknij ikonę sieci> połączenia VPN> skonfiguruj VPN> Ethernet
kliknij + Dodaj
nazwij połączenie beagleshared lub cokolwiek lubisz
zmień ustawienia IPV4 na „udostępnione innym komputerom”
kliknij Zapisz (automatycznie można ustanowić 2 połączenia, gdy kabel LAN i kabel USB beaglebone są podłączone do komputera. u można również edytować te połączenia)
podłącz płytkę do komputera (LAN i USB)
Otwórz terminal i wpisz
dodaj te linie do pliku: aby ustawić statyczny adres IP beaglebone Ethernet (eth0)
Zapisz plik
wykonaj ifconfig, aby poznać zmiany
ping 8.8.8.8
Gotowe
jeśli masz jakiekolwiek wątpliwości napisz do mnie: [email protected]
źródło
Dla mnie ważną częścią układanki było również uruchomienie tych poleceń na maszynie hosta, do której podłączony jest BBB:
A może także to:
źródło
Wpisz terminal serwera / bramy:
arp -s „$ IP” „$ MAC” pub
Gdzie $ MAC to adres sprzętowy kontrolera Ethernet bramy portu Linux. Można go znaleźć, uruchamiając ifconfig i sprawdzając właściwość ether interfejsu Ethernet. $ IP to ip portu USB w tym samym serwerze / bramie, który jest podłączony do beagle.
:)
źródło