BeagleBone Black의 USB를 통한 인터넷


11

최근에 Beagle Bone Black에 Ubuntu 13.04를 설치했습니다. 이 사진:

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

이 마이크로 컨트롤러는 호스트 PC (버전 12.04 (정확한) (64 비트), 커널 Linux 3.2.0-56- 일반) 및 USB를 통한 BeagleBone 간의 인터넷 연결을 공유 할 수 있도록했으며 다음과 같이 장치를 구성했습니다.

비글 본 블랙 :

ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1

호스트 PC :

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와 PC 모두 resolvconf를 사용합니다. 솔직히 말해서이 프로그램을 사용하여 네트워크를 구성하는 방법에 대한 실마리는 없습니다 ... /etc/network/interfacesBeagle 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

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)

노선

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

중요한 것은-일반 홈 네트워크보다 훨씬 복잡한 대학 네트워크에서 BBB와 인터넷을 공유하는 PC는 DNS 확인에 문제를 일으킬 수 있는가? 중요한 점-resolv.conf.d / head (단순히 8.8.8.8과 같이 실행되고 있음)에 이름 서버를 설정하고 ping google.com을 입력하면 maschine이 얼마 동안 계산하고 알 수없는 호스트 오류를 ​​반환합니다 . 넌센스 주소를 설정하면 작동하지 않는 (즉, 123.123.123.123) 오류가 즉시 반환됩니다.


(뒤로) BB를 사용하면 명령이 오류없이 작동합니다. 방금 네임 서버 127.0.0.1을 네임 서버 <ip of my dns>로 바꾸었고 호스트 이름 확인이 작동했습니다.
Rémi

답변:


5

호스트 (Fedora 20)의 인터페이스를 신뢰할 수있는 영역에 추가 하여이 작업을 수행했습니다. 나는 이것이 실제로 무엇을하는지 모른다고 말하면서 부끄럽습니다. 나는 원시 IP 테이블 출력을 보았고이 인터페이스에 대한 언급을 보지 못했으며 영역별로 일부 체인 만 언급했습니다. 어쨌든 호스트를 확인하고 IP 전달을 방해하는 원인을 확인하십시오. ICMP 트래픽에 대한 기본값이 더 완화되어 있기 때문에 핑이 작동하는 것 같습니다. 또한 위의 오타가 하나 있다고 생각합니다. usb0의 넷 마스크는 255.255.255.252입니다. 당신이 한 일을 게시 해 주셔서 감사합니다. 이것 없이는 더 고통 스러웠을 것입니다.


이것은 확실히 도움이됩니다.
Octopus

1

Connection Manager 겹쳐 쓰기 문제의 /etc/resolv.conf경우 가장 좋은 해결책은 파일을 보호하는 chmod 444것입니다 ( 영예를 얻지 못하는 것 같습니다).

chattr +i /etc/resolv.conf

'재부팅'을 사용하여 변경 사항이 보류되는지 확인하려면 재부팅

파일을 나중에 보호 해제하려면

chattr -i /etc/resolv.conf

connman 이후 부팅시이 작업을 수행했거나 /etc/init.d/connman새로 고침 (즉, 덮어 쓰기) 게임을 resolve.conf했습니다.


1

데비안 wheezy가 설치된 비글 본 블랙 (이더넷을 통해)과 Wi-Fi 인터넷을 공유하려면이 방법을 따르십시오.

PC에서 네트워크 아이콘> VPN 연결> VPN 구성> 이더넷을 클릭하십시오.

연결의 이름을 beagledhcp 또는 u로 지정하십시오.

IPV4 설정을 자동 DHCP로 변경

192.168.7.2에 대한 추가 DNS 서버 (비글 본의 IP)

저장을 클릭하십시오

네트워크 아이콘> VPN 연결> VPN 구성> 이더넷을 클릭하십시오.

+ 추가 클릭

연결 beagleshared 또는 u와 같은 이름을 지정하십시오.

IPV4 설정을 "다른 컴퓨터와 공유"로 변경

클릭 저장 (비글 본의 LAN 케이블과 USB 케이블을 PC에 연결하면 2 개의 연결이 자동으로 설정 될 수 있습니다.이 연결도 편집 할 수 있습니다)

보드를 PC (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

비글 본 이더넷 (eth0)에 고정 IP를 설정하려면 다음 줄을 파일에 추가하십시오.

    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를 수행하십시오.

핑 8.8.8.8

끝난

u 의심의 여지가 있다면 저에게 메일을 보내십시오 : dawnpaulfacebook@gmail.com


"192.168.7.2 (비글 본의 IP)에 대한 추가 DNS 서버"에 대한 부분은 아무 관련이 없습니다.
Octopus

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는 Linux 게이트웨이 박스 이더넷 컨트롤러의 하드웨어 주소입니다. ifconfig를 실행하고 이더넷 인터페이스의 ether 속성을 확인하여 찾을 수 있습니다. $ IP는 비글에 연결된 동일한 서버 / 게이트웨이에있는 USB 포트의 IP입니다.

:)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.