web-dev-qa-db-ja.com

Ethernet over USB接続をホストネットワークに接続する方法

LAN /インターネット接続に接続したいシングルボードコンピューターを持っています。 SBCにはイーサネットポートがありません。現在動作していない組み込みのワイヤレスチップのみです。しかし、USBは搭載されており、イーサネット経由でUSB経由でワークステーションに接続して、何らかのブリッジング/転送を実行できるはずだと考えました。 Beagle Bone Black Wirelessと(現在)Arch Linux ARM am33x for the "client"を使用しています。ワークステーションはFedora 23です。USBを介したイーサネットが機能しており、SBCにSSH接続できます。しかし、SBCからローカルネットワークまたはインターネットにアクセスできませんでした。

私がすでに試したことのリスト:

展示物:

これにより、クライアントにSSHで接続できます。

クライアントの構成/コマンド:

modprobe g_ether

netctl構成:

Description='USB ethernet connection'

Interface=usb0

Connection=ethernet

IP=static

Address=('192.168.7.2/24')

DNS=('8.8.8.8')

#Gateway=('192.168.1.1')

## For IPv6 autoconfiguration

IP6=stateless

ワークステーションでの構成:

ifconfig enp0s29u1u2 192.168.7.1

別紙b:

私はこれを疲れて2つのインターフェースを接続しました(enp0s29u1u2はEthover usb側のインターフェースであり、enp6s0はローカルネットワークとインターネットに面しています)。次のコードがワークステーションで実行されます。私はこれをここで見つけました: Linux上の2つのネットワーク間のルーティング?

echo 1 >> /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i enp0s29u1u2 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE
iptables --append FORWARD -i enp6s0 -o enp0s29u1u2 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables --append FORWARD -i enp0s29u1u2 -o enp6s0 -j ACCEPT       

最初に、IPアドレスをLanの場合は192.168.1.0/24、Ethernet overUSBネットワークの場合は192.168.7.0/24のままにしました。しかし、ゲートウェイやワークステーションの下にあるものに到達できませんでした。また、BeagleBoneに192.168.1.*アドレスを指定しようとしましたがこれも役に立ちませんでした。 おそらくここに何かが足りないのでしょう。多分ルーティング?

別紙c:

また、インターフェイス間にブリッジを設定しようとしました。

ビーグルボーンのNetctl設定は次のように設定されました:

説明=「USBイーサネット接続」

Interface=usb0

Connection=ethernet

IP=static

Address=('192.168.1.210/24')

DNS=('8.8.8.8')

Gateway=('192.168.1.1')

## For IPv6 autoconfiguration

IP6=stateless

コマンド(ワークステーション):

brctl addbr br0
brctl addif br0 enp6s0 enp0s29u1u2
ifconfig br0 192.168.1.202 (or some random free address)

ワークステーションでインターネットアクセスを回復するには、route add default gw 192.168.1.1を実行する必要がありました。ビーグルボーンでもやりましたが、うまくいきませんでした。よくわかりませんが、ネットワークブリッジを理解しているので、デバイスをイーサネットスイッチに接続したように動作するはずです(つまり、ネットワークのメンバーは、ブリッジがないかのように通信できますが、明らかに別のものが必要ですipなので、少し混乱しています。ヒントを教えてください)。

中心的な質問:

BeagleboneをLANに統合し、インターネットアクセスなどを取得するために必要な手動ルーティングはありますか?ヒントありがとうございます!一時的な解決策を探しているため、ハックアラウンドも調整されます。

3
rudib

あなたは_echo 1 >> /proc/sys/net/ipv4/ip_forward_を持っています

しかし、それは_echo 1 > /proc/sys/net/ipv4/ip_forward_である必要があります

ゲートウェイは、オプションの1つで#Gateway=('192.168.1.1')がコメント化されています。

シングルボードコンピュータで_ip route add default via 192.168.1.1_を実行して、インターネットトラフィックの送信先を認識させる必要があります。 (ここで、_192.168.1.1_は_ip_forward_がオンになっているデバイスのIPです。)

2
bao7uo