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
私はこれを疲れて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.*
アドレスを指定しようとしましたがこれも役に立ちませんでした。 おそらくここに何かが足りないのでしょう。多分ルーティング?
また、インターフェイス間にブリッジを設定しようとしました。
ビーグルボーンの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に統合し、インターネットアクセスなどを取得するために必要な手動ルーティングはありますか?ヒントありがとうございます!一時的な解決策を探しているため、ハックアラウンドも調整されます。
あなたは_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です。)