私は Debian 9.9 Linux を使用する Beaglebone Black デバイスを持っています (UI なし、これにはターミナルを使用しています)。 (Beaglebone Black の最新イメージhttps://beagleboard.org/latest-images)
conmannctl を使用して Wi-Fi を有効にし、正常に接続しました。(https://fis.gatech.edu/how-to-configure-bbw-wifi/)
Wi-Fi に接続したときに、外部 (8.8.8.8 または www.google.com) に ping できません。
次の方法でルートを手動で追加する必要があります: ip route 192.168.1.1 dev wlan0 経由でデフォルトを追加 外部から接続できるようになります。自宅のIP範囲は192.168.1.xです
これを異なるWLAN IP範囲(例えば192.168.10.x)の場所で実験して使用したいのですが、そのためには以下を実行する必要があります。 ip ルートは 192.168.10.1 dev wlan0 経由でデフォルトを追加します
IP ルートを入力して追加することなく、異なる WLAN IP 範囲を持つ別の場所に接続できる方法を探しています。
昨日からこの件について調査していましたが、どうやら ip route add コマンドだけにインターフェースを提供することはできず、IP を常に提供する必要があるようです。(あるいは、Google のキーワードを正しく入力していないのかもしれません。)
インターフェイス (無線 LAN) に接続するたびにルートを自動的に設定する方法はありますか? USB を LAN に接続することも試しましたが、外部から接続するには ip route コマンドを手動で発行する必要もあります。
現在、ifconfig 出力に対して正規表現解析を実行し、wlan0 の IP の最初の 3 つの数字 (例: 192.168.10) を取得して .1 を追加し、これを使用して Python 内で ip route add コマンドを実行する Python スクリプトを作成することを考えています。
ただし、Ubuntu マシンで Wi-Fi に接続すると (UI を使用)、Wi-Fi が接続されるとすぐにインターネットを閲覧できるため、これには Linux プロセスが組み込まれているのではないかと考えています。
答え1
これを解決する通常の方法は、すべての LAN セグメントで DHCP サーバーを実行し、この LAN セグメントに接続するすべてのマシンで DHCP クライアントを実行することです。
のDHCPプロトコルデフォルト ゲートウェイなどのルーティング情報や、使用する DNS サーバーなどのその他の情報を配布できます。
Ubuntu マシンで動作する場合、WLAN セグメント (おそらく AP 上) で DHCP サーバーが実行されている可能性があります。
したがって、Beaglebone で DHCP クライアントを実行してみてください (Beaglebone ディストリビューションが使用するものは何でも、dhclient
ディストリビューションでよく使用されます)。そして、何かが得られるか確認してください。
次に、接続時にこれを自動的に実行するように Beaglebone を構成します (Beaglebone ディストリビューションで他に何が実行されているかに応じて、これを行う方法はいくつかあります)。