Debian 'pocketbeagle' の connmanctl

Debian 'pocketbeagle' の connmanctl

新しく設定しようとしています。「ポケットビーグル」Ubuntu(20.04)ノートパソコンとネットワーク接続を共有しています。 PocketBeagle は Debian バージョン: 10.3/2020-04-06(参考資料)。

「ポケットビーグル」WiFiもイーサネットもなくUSBポートしかありません。をサポートし、ssh両方のIPのいずれかまたは両方を介してこの方法でボードにアクセスできます。おそらく次のように見せると簡単になります。

ifconfig走る「ポケットビーグル」公開された:

$ ifconfig
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.7.2  netmask 255.255.255.0  broadcast 192.168.7.255
        inet6 fe80::6264:5ff:fefa:813a  prefixlen 64  scopeid 0x20<link>
        ether 60:64:05:fa:81:3a  txqueuelen 1000  (Ethernet)
        ...
usb1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.6.2  netmask 255.255.255.0  broadcast 192.168.6.255
        inet6 fe80::6264:5ff:fefa:813e  prefixlen 64  scopeid 0x20<link>
        ether 60:64:05:fa:81:3e  txqueuelen 1000  (Ethernet)
        ...

ifconfig走る「Ubuntu」公開された:

$ ifconfig 
enx606405fa813b: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.7.1  netmask 255.255.255.0  broadcast 192.168.7.255
        inet6 fe80::2267:92a0:a191:297d  prefixlen 64  scopeid 0x20<link>
        ether 60:64:05:fa:81:3b  txqueuelen 1000  (Ethernet)
        ...

enx606405fa813d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.6.1  netmask 255.255.255.0  broadcast 192.168.6.255
        inet6 fe80::3898:bc86:d0c2:cb53  prefixlen 64  scopeid 0x20<link>
        ether 60:64:05:fa:81:3d  txqueuelen 1000  (Ethernet)
        ...

いくつかの研究の最後に、次のように共有を実装するプログラムを開発しました。

  1. 使用「Ubuntu」GUI、私は変わった「イーサネット接続」60:64:05:FA:81:3DデフォルトではMACに付属しています。「自動DHCP」「接続の共有」

  2. 192.168.6.1割り当てられたIPアドレスが変更されます。「ポケットビーグル」到着する10.42.0.1

このように変更した後は、次のようになります。「Ubuntu」CLI レポートは次のとおりです。

$ ifconfig
enx606405fa813d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.42.0.1  netmask 255.255.255.0  broadcast 10.42.0.255
        inet6 fe80::3898:bc86:d0c2:cb53  prefixlen 64  scopeid 0x20<link>
        ether 60:64:05:fa:81:3d  txqueuelen 1000  (Ethernet)
        ...
  1. このとき、インターフェースでは「ポケットビーグル」変更はありませんが、接続共有には明らかに間違っています。 CLI で次のコマンドを実行しました。「ポケットビーグル」
$ sudo connmanctl config usb1 --ipv4 manual 10.42.0.2 255.255.255.0 10.42.0.1 --nameservers 10.42.0.1
[sudo] password for debian: 
Error usb1: Method "SetProperty" with signature "sv" on interface "net.connman.Service" doesn't exist

次のコマンドを使用してサービスを照会してみてくださいconnmanctl

$ sudo connmanctl 
Error getting VPN connections: The name net.connman.vpn was not provided by any .service files
connmancconnmanctl> services

connmanctl>

私はそれについて全く慣れていませんが、connmanctl私の研究によると、これがDNSサービスを正しく設定する唯一の方法です。私が台無しにしたのではないでしょうか?たぶん私が何かを逃しているのではないでしょうか?それから「既存の方法」の設定を試みることにしました。

  1. 次のコマンドシーケンスは、そのエントリを再構成するために使用されます。「ポケットビーグル」「既存の方法」インターフェース:
$ sudo ifconfig usb1 10.42.0.2 netmask 255.255.255.0 up
$ sudo route add default gw 10.42.0.1 usb1
$ sudo nano /etc/resolv.conf
#
# add line: nameserver 10.42.0.1 
# save & exit editor
#
# yes - this is an awful kludge, but it did provide DNS

これが効果がありました!- これ「ポケットビーグル」インターネットに正常に接続され、DNSが機能しました。

debian@beaglebone:~$ ping unix.stackexchange.com
PING unix.stackexchange.com (151.101.1.69) 56(84) bytes of data.
64 bytes from 151.101.1.69 (151.101.1.69): icmp_seq=1 ttl=56 time=9.01 ms
64 bytes from 151.101.1.69 (151.101.1.69): icmp_seq=2 ttl=56 time=11.8 ms
...

問題:明らかに問題は私の使用にありますconnmanctl「ポケットビーグル」それ自体。私が何を間違っているのでしょうか?なぜconnmanctl期待どおりに動作しないのですか?

ベストアンサー1

Pocketbeagleでも同様の問題が発生しました。デフォルト設定は、ローカルDNSサーバーとして機能するdnsmasqで構成されています。デフォルトでは、接続するたびにインターネットにアクセスできず、プライマリCloud9 IDEにアクセスできるように独自のDNSを提供します。

私の一時的な修正は、以下を実行することです。
sudo dhclient -r <usb0 or usb1>

これにより、ホストPCから自動的にDNSを取得し、一時的に設定する必要があります。このコマンドは、Pocketbeagleが再起動されるたびに再実行する必要があります。私が知る限り、connmanctl は Pocketbeagle で DNS を管理しません。したがって、ネームサーバー設定はボーン - Ubuntu イメージやボーン - Debian に影響を与えない場合があります。

DNSリゾルバを自動的に実行するには、systemd-resolved起動時にサービスが開始されるようにサービスをインストールして有効にする必要があります。これが私がインターネットに接続するときに一般的に使用する方法です。

おすすめ記事